(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.
participants (1)
-
serge guelton