Skip to main content

Introducing the PyPy 1.2 release

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.

Comments

Brian Slesinsky wrote on 2010-03-12 18:37:

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.

Peter wrote on 2010-03-12 18:50:

Congratulations! This is great news!

stuaxo wrote on 2010-03-12 20:21:

Is it possible to install distribute in this?

Martijn Faassen wrote on 2010-03-12 20:34:

Congrats! Now to port a lot of software onto this!

Anonymous wrote on 2010-03-12 21:50:

Congratulations! I've been looking forward to this.

Question: does PyPy have an API for creating native modules?

Maciej Fijalkowski wrote on 2010-03-12 22:25:

@Anonymous:

if you mean wrapping C libraries we recommend using ctypes.

Unknown wrote on 2010-03-12 23:31:

awesome! congratulations!

why is spambayes so slow? does it use regular expressions?

Isaac Gouy wrote on 2010-03-13 00:28:

Why is there a problem with nbody and itertools ?

pypy temporarily in the benchmarks game.

Benjamin Peterson wrote on 2010-03-13 01:15:

@horace: yes, regexes are probably the problem.

@Issac: combinations is a 2.6 feature, which we don't support.

Isaac Gouy wrote on 2010-03-13 01:33:
combinations is a 2.6 feature, which we don't support

Would anyone care to contribute a modified working nbody program to the benchmarks game? ;-)
Armin Rigo wrote on 2010-03-13 03:11:

@Isaac: we have nbody_modified in our benchmarks, source code here.

Unknown wrote on 2010-03-13 10:38:

Thanks for creating windows binaries! I waited long time for that...

René Dudfield wrote on 2010-03-13 12:52:

Congrats to all the pypy peoples!

Vitéz Gábor wrote on 2010-03-13 13:18:

Great work! Keep it up!

Shin Guey wrote on 2010-03-13 15:46:

I just tried the windows binary.

Oh 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)

Shin Guey wrote on 2010-03-13 15:52:

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.

I 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.

Carl Friedrich Bolz-Tereick wrote on 2010-03-13 16:11:

@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.

Anonymous wrote on 2010-03-13 19:09:

can't wait to test it out!

large file transfer wrote on 2010-03-14 14:49:

I 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.

cjrh wrote on 2010-03-15 07:27:

Thanks for windows binaries!

Anonymous wrote on 2010-04-09 13:47:

Congratulations !

Please mention in the download section that VC2005 redistributables are needed to run it on Win !