PyPy 4.0 Released
Written by Kay Ewbank   
Tuesday, 10 November 2015

PyPy 4.0.0 has been released, bringing a major update for the Python interpreter and JIT compiler. The new version adds SIMD vectorization support on x86, and improved functionality of numpy among other improvements.

pypylogo

The new release is a major update of the PyPy python 2.7.10 compatible interpreter with a Just In Time compiler. The package provides an alternative way to compile and run Python programs. If you're confused about the numbering change, this is the follow-up release to PyPy 2.6.1. The developers have decided to move to the new numbering scheme of PyPy 4.x.x, to avoid confusion with CPython 2.7 and 3.5. The new version implements Python 2.7.10. 

PyPy is written in Python itself, using a restricted version of Python called RPython that was co-developed with it. RPython is also used separately from PyPy, and versions of other dynamic languages have been implemented using RPython, including versions of Prolog, Smalltalk, JavaScript, a Ruby implementation called Topaz and a PHP implementation called HippyVM.

PyPy is much faster than CPython, and so long as you don't need the features of Python 3, it provides an excellent alternative. If you need Python 3 support, there is a beta release of PyPy3 which implements Python 3.2.5.

The vectorization support in the new version adds a vectorization step to the trace optimizer. The step recognizes common constructs and emits SIMD code where possible. This should increase the speed of numerical applications in the NumPyPy library and for some Python programs. Because this is a very new addition, it is off by default.

The numpy implementation is another area that has been improved. Writing about the new version on the PyPy blog, the PyPy team said:

"ndarray and the numeric dtypes are very close to feature-complete; record, string and unicode dtypes are mostly supported. We have reimplemented numpy linalg, random and fft as cffi-1.0 modules that call out to the same underlying libraries that upstream numpy uses."

The final major improvement is to CFFI (C Foreign Function Interface for Python), which the developers say is:

"arguably our most significant contribution to the python ecosystem"

even though it applies to Python more generally rather than just to PyPy. The updated version also has improved manangement of object lifetimes and support for __stdcall on Win32 among other minor changes. 

pypylogo

 

More Information

PyPy blog

PyPy site

Related Articles

PyPy – a faster Python    

PyPy - Faster Python Now On ARM          

PyPy 2.5 Released

Python 3.5 Released

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on, Twitter, FacebookGoogle+ or Linkedin

 

Banner


How Gen Z Could Fill the Skills Gap
27/03/2019

HackerRank's Women in Tech 2019 report focuses attention on Gen Z women, born from 1997 onwards. As they are reaching their early twenties, they are beginning to enter the workforce en masse. 



Apache Kudu 1.9 Adds Location Awareness
26/03/2019

There's a new release of Apache Kudu which adds location awareness and support for Docker scripts. Kudu is a columnar storage engine that fills the gap between the Hadoop Distributed File System (HDFS [ ... ]


More News

 

Python

 



 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Tuesday, 10 November 2015 )