[pypy-dev] PyPy 1.6 released

holger krekel holger at merlinux.eu
Fri Aug 19 19:35:32 CEST 2011


Congrats also from here!

On the plus side pytest's own test suite passes all tests, even some which
are marked as "expected-to-fail" with cpython-2.7.  On the minus side,
the whole test run is still 2-3 times slower compared to cpython which is slightly worse than with pypy-1.5. of course there is not too much to JIT but
still a bit of a dissappointing result.

best,
holger

On Thu, Aug 18, 2011 at 19:30 +0200, Maciej Fijalkowski wrote:
> ========================
> PyPy 1.6 - kickass panda
> ========================
> 
> We're pleased to announce the 1.6 release of PyPy. This release brings a lot
> of bugfixes and performance improvements over 1.5, and improves support for
> Windows 32bit and OS X 64bit. This version fully implements Python 2.7.1 and
> has beta level support for loading CPython C extensions.  You can download it
> here:
> 
>     http://pypy.org/download.html
> 
> What is PyPy?
> =============
> 
> PyPy is a very compliant Python interpreter, almost a drop-in replacement for
> CPython 2.7.1. It's fast (`pypy 1.5 and cpython 2.6.2`_ performance comparison)
> due to its integrated tracing JIT compiler.
> 
> This release supports x86 machines running Linux 32/64 or Mac OS X.  Windows 32
> is beta (it roughly works but a lot of small issues have not been fixed so
> far).  Windows 64 is not yet supported.
> 
> The main topics of this release are speed and stability: on average on
> our benchmark suite, PyPy 1.6 is between **20% and 30%** faster than PyPy 1.5,
> which was already much faster than CPython on our set of benchmarks.
> 
> The speed improvements have been made possible by optimizing many of the
> layers which compose PyPy.  In particular, we improved: the Garbage Collector,
> the JIT warmup time, the optimizations performed by the JIT, the quality of
> the generated machine code and the implementation of our Python interpreter.
> 
> .. _`pypy 1.5 and cpython 2.6.2`: http://speed.pypy.org
> 
> 
> Highlights
> ==========
> 
> * Numerous performance improvements, overall giving considerable speedups:
> 
>   - better GC behavior when dealing with very large objects and arrays
> 
>   - **fast ctypes:** now calls to ctypes functions are seen and optimized
>     by the JIT, and they are up to 60 times faster than PyPy 1.5 and 10 times
>     faster than CPython
> 
>   - improved generators(1): simple generators now are inlined into the caller
>     loop, making performance up to 3.5 times faster than PyPy 1.5.
> 
>   - improved generators(2): thanks to other optimizations, even generators
>     that are not inlined are between 10% and 20% faster than PyPy 1.5.
> 
>   - faster warmup time for the JIT
> 
>   - JIT support for single floats (e.g., for ``array('f')``)
> 
>   - optimized dictionaries: the internal representation of dictionaries is now
>     dynamically selected depending on the type of stored objects, resulting in
>     faster code and smaller memory footprint.  For example, dictionaries whose
>     keys are all strings, or all integers. Other dictionaries are also smaller
>     due to bugfixes.
> 
> * JitViewer: this is the first official release which includes the JitViewer,
>   a web-based tool which helps you to see which parts of your Python code have
>   been compiled by the JIT, down until the assembler. The `jitviewer`_ 0.1 has
>   already been release and works well with PyPy 1.6.
> 
> * The CPython extension module API has been improved and now supports many
>   more extensions. For information on which one are supported, please refer to
>   our `compatibility wiki`_.
> 
> * Multibyte encoding support: this was of of the last areas in which we were
>   still behind CPython, but now we fully support them.
> 
> * Preliminary support for NumPy: this release includes a preview of a very
>   fast NumPy module integrated with the PyPy JIT.  Unfortunately, this does
>   not mean that you can expect to take an existing NumPy program and run it on
>   PyPy, because the module is still unfinished and supports only some of the
>   numpy API. However, barring some details, what works should be
>   blazingly fast :-)
> 
> * Bugfixes: since the 1.5 release we fixed 53 bugs in our `bug tracker`_, not
>   counting the numerous bugs that were found and reported through other
>   channels than the bug tracker.
> 
> Cheers,
> 
> Hakan Ardo, Carl Friedrich Bolz, Laura Creighton, Antonio Cuni,
> Maciej Fijalkowski, Amaury Forgeot d'Arc, Alex Gaynor,
> Armin Rigo and the PyPy team
> 
> .. _`jitviewer`:
> http://morepypy.blogspot.com/2011/08/visualization-of-jitted-code.html
> .. _`bug tracker`: https://bugs.pypy.org
> .. _`compatibility wiki`: https://bitbucket.org/pypy/compatibility/wiki/Home
> _______________________________________________
> pypy-dev mailing list
> pypy-dev at python.org
> http://mail.python.org/mailman/listinfo/pypy-dev
> 


More information about the pypy-dev mailing list