The technology behind these speedups is trace-based optimization, a method of performance prediction that can use the information about which parts of some code have been important already to concentrate compiler-optimization power on making the same code run faster the next time. The researchers behind this are UCI computer scientist Michael Franz and his post-doc Andreas Gal.
Just as fast, or faster. One of my former coworkers ended up working on this when he left us for Mozilla, and he was telling me about it. Apparently some of the early work on this was done with hardware emulators -- and they found that the emulator, when running on the machine it was emulating, sometimes ran faster than the native code once it had collected enough traces.
It sounds like really neat stuff, in any case.
7-times speedup is probably too much, the real speedup is about 1.5-4 on average programs, and 4-8 on number crunching programs.
There is already a system for Python that performs really similar things in a similar manner, it's Psyco (that will 'soon' have a major upgrade).
If you want your Python code to run quite fast you may try ShedSkin.
There is no question that Python can be made to run very fast. If you use it like I do, and write the core parts in C++ and then use SWIG to wrap your C++, then you get to use Python with a C++ performance, right now.
Also, if you want to benefit from a sophisticated JIT compiler right now, try Jython. I bet a lot of your code runs unchanged on Jython (hint: it will use the Java JIT compiler!).
In some corner cases, you can get to be only 10x slower. Or, you may even get to be *faster* in some instances.
People do not believe me, but back in 1999 I was writing image processing software, and on some operations, my Java code was faster than hand-crafted C++ code! Yet, nobody back in 1999 would take Java as an image processing library seriously. And they were right too!
Ah! But does it matter?
If you do wicked database research like I do, you often need ever little once of performance because you need to process gigabytes of data and run thousands of tests... even Java is not appropriate as a language in some cases.
However, 99.9% of software out there can afford to be 10x or even 100x slower than C++.
Python is rarely 1000x slower than C/C++. Raw numbers for most benchmarks (available from http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=python&lang2=gcc ) put it at single-digit, moderate double-digit, or rarely 100-300x slower than straight C. With a bit of Psyco, Python worst-case (in those same benchmarks) drops to 50x as slow, with many of the benchmarks showing low 1-digit slowdowns.
For many programs Python is way less than 1000 times slower, it's more about 10-20 times slower. And Jython is generally quite slower than CPython, so it isn't a match for Psyco.