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


Looking Forward To NAO 7
03/11/2024

Introduced to the world in 2004 by its creator Bruno Maisonnier the kid-sized, autonomous humanoid robot NAO, turns 20 this year. At less than 2 ft tall, it is small in stature, but plays a big r [ ... ]



Rust And C++ Should Be Friends?
20/11/2024

The Rust Foundation has just released a statement on Rust and C++ interoperability and Google is ponying up $1000,000 to see that it gets done.


More News

 

espbook

 

Comments




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

Last Updated ( Tuesday, 10 November 2015 )