[ANN] Pythran 0.7.5 is out
serge guelton
serge.guelton at telecom-bretagne.eu
Thu Jun 16 04:42:32 EDT 2016
(sorry for the double posting, if any)
Dear pythraners and pythonists,
The Pythran team (still 2 active developers) is delighted to
announce the release of Pythran 0.7.5, available on the traditional
channels:
- pypi: https://pypi.python.org/pypi/pythran
- conda: https://anaconda.org/serge-sans-paille/pythran
- github: https://github.com/serge-sans-paille/pythran
What is it?
===========
Pythran is a static compiler for numerical kernels written in Python + Numpy.
It basically turns Python-compatible modules into native ones,
eventually vectorized and parallelized.
Example
=======
Following the tradition, each release comes with a code sample. This one
comes from http://jakevdp.github.io/blog/2012/08/24/numba-vs-cython/
#pythran export pythran_pairwise(float64 [][])
import numpy as np
def pythran_pairwise(X):
return np.sqrt(((X[:, None, :] - X) ** 2).sum(-1))
This kernel relies a lot on Numpy's broadcasting, but Pythran can now
compile it efficiently, which is a really nice improvement! It can rip
(without vectorization and parallelization turned on) more than a x5
speedup over the Numpy version \o/
More Infos
==========
We have published some technical details about Pythran internal on the
blog:
http://serge-sans-paille.github.io/pythran-stories/
It is open to third-party contribution!
Changelog
=========
* Better Jupyter Note book integration
* Numpy Broadcasting support
* Improved value binding analysis
* Simple inlining optimization
* Type engine improvement
* Less fat in the generated modules
* More and better support for various Numpy functions
* Various performance improvement
* Global variable handling, as constants only though
Acknowledgments
===============
Thanks a lot to Pierrick Brunet for his dedicated work, and to all the
bug reporters and patch providers that helped a lot for this release:
nils-werner, ronbarak, fred oble, geekou, hainm, nbecker and xantares.
More information about the Python-announce-list
mailing list