PyPy 1.4 released

=============================== PyPy 1.4: Ouroboros in practice =============================== We're pleased to announce the 1.4 release of PyPy. This is a major breakthrough in our long journey, as PyPy 1.4 is the first PyPy release that can translate itself faster than CPython. Starting today, we are using PyPy more for our every-day development. So may you :) 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. It's fast (`pypy 1.4 and cpython 2.6`_ comparison) Among its new features, this release includes numerous performance improvements (which made fast self-hosting possible), a 64-bit JIT backend, as well as serious stabilization. As of now, we can consider the 32-bit and 64-bit linux versions of PyPy stable enough to run `in production`_. Numerous speed achievements are described on `our blog`_. Normalized speed charts comparing `pypy 1.4 and pypy 1.3`_ as well as `pypy 1.4 and cpython 2.6`_ are available on benchmark website. For the impatient: yes, we got a lot faster! More highlights =============== * PyPy's built-in Just-in-Time compiler is fully transparent and automatically generated; it now also has very reasonable memory requirements. The total memory used by a very complex and long-running process (translating PyPy itself) is within 1.5x to at most 2x the memory needed by CPython, for a speed-up of 2x. * More compact instances. All instances are as compact as if they had ``__slots__``. This can give programs a big gain in memory. (In the example of translation above, we already have carefully placed ``__slots__``, so there is no extra win.) * `Virtualenv support`_: now PyPy is fully compatible with virtualenv_: note that to use it, you need a recent version of virtualenv (>= 1.5). * Faster (and JITted) regular expressions - huge boost in speeding up the `re` module. * Other speed improvements, like JITted calls to functions like map(). .. _virtualenv: http://pypi.python.org/pypi/virtualenv .. _`Virtualenv support`: http://morepypy.blogspot.com/2010/08/using-virtualenv-with-pypy.html .. _`in production`: http://morepypy.blogspot.com/2010/11/running-large-radio-telescope-software.... .. _`our blog`: http://morepypy.blogspot.com .. _`pypy 1.4 and pypy 1.3`: http://speed.pypy.org/comparison/?exe=1%2B41,1%2B172&ben=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20&env=1&hor=false&bas=1%2B41&chart=normal+bars .. _`pypy 1.4 and cpython 2.6`: http://speed.pypy.org/comparison/?exe=2%2B35,1%2B172&ben=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20&env=1&hor=false&bas=2%2B35&chart=normal+bars Cheers, Carl Friedrich Bolz, Antonio Cuni, Maciej Fijalkowski, Amaury Forgeot d'Arc, Armin Rigo and the PyPy team

Grats! i am going to give web2py : http://www.web2py.com a try on pypy On 11/27/10, Samuele Pedroni <samuele.pedroni@gmail.com> wrote:

I just tested a simple hello world page in web2py and i dont see speed improvment yet.. pages comes up in 16-18ms in normal python , and in pypy 22-25 I just run directly via command $pypy web2py.py am i doing something wrong? need some extra command line options? On 11/27/10, Phyo Arkar <phyo.arkarlwin@gmail.com> wrote:

On 27/11/10 03:09, Phyo Arkar wrote:
Hi Phyo, ctypes *is* enabled on pypy by default. If python-magic does not work, it can either: 1) be a pypy bug: please report it as an issue (possibly with a simple failing test and the full traceack) 2) a python-magic issue, e.g. if it plays dirty ctypes trick that cannot really be supported by pypy due to the internal differences with CPython ciao, Anto

i got python-magic working , after i installed without easy_install (easy_install fail because it tried to install ctypes). Now what is not working is python-lxml , which is very important for my project. here are the errors: Running lxml-2.3beta1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-Gg3GRA/lxml-2.3beta1/egg-dist-tmp-bwUkM2 Building lxml version 2.3.beta1. NOTE: Trying to build without Cython, pre-generated 'src/lxml/lxml.etree.c' needs to be available. Using build configuration of libxslt 1.1.26 Building against libxml2/libxslt in the following directory: /usr/lib src/lxml/lxml.etree.c:75: error: conflicting types for ‘Py_buffer’ /home/v3ss/pypy-1.4/include/object.h:19: note: previous declaration of ‘Py_buffer’ was here Had Anyone got lxml working in pypy successfully? On 11/27/10, Antonio Cuni <anto.cuni@gmail.com> wrote:

Hey. On Sun, Nov 28, 2010 at 10:57 AM, Phyo Arkar <phyo.arkarlwin@gmail.com> wrote:
i got python-magic working , after i installed without easy_install (easy_install fail because it tried to install ctypes).
great
Now what is not working is python-lxml , which is very important for my project.
lxml won't work out of the box. if you think it's important enough, you can try to port cython to generate something saner (right now what it generates won't work on cpyext). Cheers, fijal

On 28/11/10 10:48, Maciej Fijalkowski wrote:
i got python-magic working , after i installed without easy_install (easy_install fail because it tried to install ctypes).
great
well, that's still a bit strange. Why does easy_install try to install ctypes, given that it's in the stdlib?

On Sun, Nov 28, 2010 at 12:10:19PM +0100, Antonio Cuni wrote:
The standard library doesn't have setuptools metadata that would tell easy_install about ctypes already being available, so easy_install tries to download and install ctypes if asked to. Marius Gedminas -- I'm a shareware signature! Send $2 if you use me, $10 for a manual.

Grats! i am going to give web2py : http://www.web2py.com a try on pypy On 11/27/10, Samuele Pedroni <samuele.pedroni@gmail.com> wrote:

I just tested a simple hello world page in web2py and i dont see speed improvment yet.. pages comes up in 16-18ms in normal python , and in pypy 22-25 I just run directly via command $pypy web2py.py am i doing something wrong? need some extra command line options? On 11/27/10, Phyo Arkar <phyo.arkarlwin@gmail.com> wrote:

On 27/11/10 03:09, Phyo Arkar wrote:
Hi Phyo, ctypes *is* enabled on pypy by default. If python-magic does not work, it can either: 1) be a pypy bug: please report it as an issue (possibly with a simple failing test and the full traceack) 2) a python-magic issue, e.g. if it plays dirty ctypes trick that cannot really be supported by pypy due to the internal differences with CPython ciao, Anto

i got python-magic working , after i installed without easy_install (easy_install fail because it tried to install ctypes). Now what is not working is python-lxml , which is very important for my project. here are the errors: Running lxml-2.3beta1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-Gg3GRA/lxml-2.3beta1/egg-dist-tmp-bwUkM2 Building lxml version 2.3.beta1. NOTE: Trying to build without Cython, pre-generated 'src/lxml/lxml.etree.c' needs to be available. Using build configuration of libxslt 1.1.26 Building against libxml2/libxslt in the following directory: /usr/lib src/lxml/lxml.etree.c:75: error: conflicting types for ‘Py_buffer’ /home/v3ss/pypy-1.4/include/object.h:19: note: previous declaration of ‘Py_buffer’ was here Had Anyone got lxml working in pypy successfully? On 11/27/10, Antonio Cuni <anto.cuni@gmail.com> wrote:

Hey. On Sun, Nov 28, 2010 at 10:57 AM, Phyo Arkar <phyo.arkarlwin@gmail.com> wrote:
i got python-magic working , after i installed without easy_install (easy_install fail because it tried to install ctypes).
great
Now what is not working is python-lxml , which is very important for my project.
lxml won't work out of the box. if you think it's important enough, you can try to port cython to generate something saner (right now what it generates won't work on cpyext). Cheers, fijal

On 28/11/10 10:48, Maciej Fijalkowski wrote:
i got python-magic working , after i installed without easy_install (easy_install fail because it tried to install ctypes).
great
well, that's still a bit strange. Why does easy_install try to install ctypes, given that it's in the stdlib?

On Sun, Nov 28, 2010 at 12:10:19PM +0100, Antonio Cuni wrote:
The standard library doesn't have setuptools metadata that would tell easy_install about ctypes already being available, so easy_install tries to download and install ctypes if asked to. Marius Gedminas -- I'm a shareware signature! Send $2 if you use me, $10 for a manual.
participants (7)
-
Antonio Cuni
-
Leonardo Santagada
-
Maciej Fijalkowski
-
Marius Gedminas
-
Phyo Arkar
-
René Dudfield
-
Samuele Pedroni