PyPy and Psyco
voidspace.org.uk
voidspace.org.uk
As I see it, speed is the last big advantage Java has over Python (and I do realize that a dynamically typed language makes achieving efficiency harder).
Apparently PyPy has some financial support from Google (http://en.wikipedia.org/wiki/Pypy#Project_status), but it really seems like basically any company that uses Python would gain so much from robust JIT compilation in the interpreter that I'm surprised there's not a more concerted effort to make it happen.
Google's problems are big enough that constants matter.
Off-the-cuff benchmarks I ran on our Scala-based webapp on a four-core desktop system demonstrated 5,000 req/sec @ 2ms/request after the JIT warmed up.
5,000+ requests/second -- scaling up with available CPUs -- means not having to worry about performance, complicated caching, and the slew of other things that developers do to eek performance out of frameworks based on poor interpreter implementations.
The idea is that if you're worried about performance and scaling then you'll have to find a way to distribute your load over multiple physical machines anyways.
At that point it doesn't matter so much anymore whether one of your nodes handles 5000 reqs/sec or 2500 reqs/sec. Hardware is cheap.
In reality, neither hardware or development are cheap, and performance does not inherently necessitate more costly development. The mantra and the dichotomy are false.
Psyco is pretty cool right now, even without generator support (though that would be good).
I'm doing stuff with a neural net built in Python/Numpy right now and Psyco makes it twice as fast. Given that I'm waiting for it to run each time I try something this sort of speed up is quite nice. It's now to the point where pretty much all the execution time is spent in Numpy (which is largely implemented in C) which is cool.
Maybe you can do that today, but good luck finding out by reading the pypy docs.