We are pleased to announce PyPy's 1.2 release. This version 1.2 is a major milestone and it is the first release to ship a Just-in-Time compiler that is known to be faster than CPython (and unladen swallow) on some real-world applications (or the best benchmarks we could get for them). The main theme for the 1.2 release is speed.
The JIT is stable and we don't observe crashes. Nevertheless we would recommend you to treat it as beta software and as a way to try out the JIT to see how it works for you.
Highlights:
- The JIT compiler.
- Various interpreter optimizations that improve performance as well as help save memory. Read our various blog posts about achievements.
- Introducing a new PyPy website at pypy.org made by tav and improved by the PyPy team.
- Introducing speed.pypy.org made by Miquel Torres, a new service that monitors our performance nightly.
- There will be ubuntu packages on PyPy's PPA made by Bartosz Skowron, however various troubles prevented us from having them as of now.
Known JIT problems (or why you should consider this beta software) are:
- The only supported platform is 32bit x86 for now, we're looking for help with other platforms.
- It is still memory-hungry. There is no limit on the amount of RAM that the assembler can consume; it is thus possible (although unlikely) that the assembler ends up using unreasonable amounts of memory.
If you want to try PyPy, go to the download page on our excellent new site and find the binary for your platform. If the binary does not work (e.g. on Linux, because of different versions of external .so dependencies), or if your platform is not supported, you can try building from the source.
The PyPy release team,
Armin Rigo, Maciej Fijalkowski and Amaury Forgeot d'Arc
Together with
Antonio Cuni, Carl Friedrich Bolz, Holger Krekel, Samuele Pedroni and many others.
The front page of the new PyPy site should include some of these caveats about it being beta software; it gives the wrong impression about PyPy's current status.
ReplyDeleteCongratulations! This is great news!
ReplyDeleteIs it possible to install distribute in this?
ReplyDeleteCongrats! Now to port a lot of software onto this!
ReplyDeleteCongratulations! I've been looking forward to this.
ReplyDeleteQuestion: does PyPy have an API for creating native modules?
@Anonymous:
ReplyDeleteif you mean wrapping C libraries we recommend using ctypes.
awesome! congratulations!
ReplyDeletewhy is spambayes so slow? does it use regular expressions?
Why is there a problem with nbody and itertools ?
ReplyDeletepypy temporarily in the benchmarks game.
@horace: yes, regexes are probably the problem.
ReplyDelete@Issac: combinations is a 2.6 feature, which we don't support.
combinations is a 2.6 feature, which we don't support
ReplyDeleteWould anyone care to contribute a modified working nbody program to the benchmarks game? ;-)
@Isaac: we have nbody_modified in our benchmarks, source code here.
ReplyDeleteThanks for creating windows binaries! I waited long time for that...
ReplyDeleteCongrats to all the pypy peoples!
ReplyDeleteGreat work! Keep it up!
ReplyDeleteI just tried the windows binary.
ReplyDeleteOh damn, it is really FAST!!!
3x performance gain...
C:\work\bzr-proj>pypy script.py -t i2d -f longdata.txt
solve parallel
m = 1 total = 128
m = 2 total = 16384
m = 3 total = 2097152
Require M stage: 3
Time taken 00:00:05 (907ms)
C:\work\bzr-proj>python script.py -t i2d -f longdata.txt
solve parallel
m = 1 total = 128
m = 2 total = 16384
m = 3 total = 2097152
Require M stage: 3
Time taken 00:00:15 (093ms)
Forgot about the memory usage, python consume ~4MB and pypy consume ~24MB. Pypy need 6x more memory, but I don't care about this in my script since the performance gain is significant.
ReplyDeleteI really want to know the pypy vs luajit, I think luajit should be much faster. I am in progress in converting my script to lua but that is painful, my knowledge on lua doesn't match with python.
@shin if you have a comparison to LuaJIT, I would be extremely interested to hear the results! I agree that LuaJIT will likely be faster though.
ReplyDeletecan't wait to test it out!
ReplyDeleteI really want to know the pypy vs luajit, I think luajit should be much faster. I am in progress in converting my script to lua but that is painful, my knowledge on lua doesn't match with python.
ReplyDeleteThanks for windows binaries!
ReplyDeleteCongratulations !
ReplyDeletePlease mention in the download section that VC2005 redistributables are needed to run it on Win !