[pypy-dev] PyPy 1.6 released

Maciej Fijalkowski fijall at gmail.com
Fri Aug 19 23:52:00 CEST 2011


On Fri, Aug 19, 2011 at 7:35 PM, holger krekel <holger at merlinux.eu> wrote:
> 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.

Well, yes, but also we have no good answer to this. I think the reason
why it got slower is because we compile functions now as well (which
takes extra time). Test suites are hard I fear :(

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