URL: https://linuxfr.org/users/serge_ss_paille/journaux/avec-pythran-numpy-file-comme-le-vent Title: avec Pythran, Numpy file comme le vent Authors: serge_sans_paille Date: 2013年04月05日T21:46:09+02:00 License: CC By-SA Tags: pythran, python et numpy Score: 46 Salut mon petit journal, je te tiens de temps en temps au courant des avancement de Pythran, ze convertisseur Python -> C++ dédié au calcul scientifique. La [dernière fois]( https://linuxfr.org/users/serge_ss_paille/journaux/pythran-0-2-python-peut-il-etre-aussi-rapide-que-du-c) que nous avons discuté, tu m'avais dit de repasser te voir quand je serais capable de supporter ce genre de calculs: ```python import numpy as np n = 100000 b, c = np.ones(n), np.ones(n) d = np.sqrt(b*b+c*c) ``` intéressé que tu étais de savoir le gain en vitesse atteignable. C'est chose faite. Le support est loin d'être total et se trouve dans la branche `numpy` du [git](https://github.com/serge-sans-paille/pythran). Quelques résultats préliminaires donc, sur un quadcore i7 hyperthreadé. ```python>>> %timeit np.sqrt(b*b+c*c) 100 loops, best of 3: 2.59 ms per loop ``` Puis avec [numexpr](http://code.google.com/p/numexpr/): ```python>>> %timeit numexpr.evaluate("sqrt(b*b+c*c)") 1000 loops, best of 3: 728 us per loop ``` Et enfin avec Pythran ([Advanced_Vector_Extensions](http://fr.wikipedia.org/wiki/Advanced_Vector_Extensions "Définition Wikipédia") et [Openmp](http://fr.wikipedia.org/wiki/Openmp "Définition Wikipédia") et [Expression_templates](http://fr.wikipedia.org/wiki/Expression_templates "Définition Wikipédia") inside): ```python>>> %timeit my.pythranized(b,c) 1000 loops, best of 3: 276 us per loop ``` Comme ça doit te laisser rêveur, je te dis bonne nuit, et continue à faire de beaux rêves pythranesques !