[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