Je viens de tester car je n'avais pas trop le choix et devait gagner en perf, et le résultat est bien là.
Les erreurs de compilation sont franchement verbeuses, mais quand on est habitué au C++ on s'y retrouve.
J'ai découvert l'intégration ipython/jupyter suite à mes tests, et c'est vraiment ce qui va rendre le truc accessible IMHO.
J'ai eu pas mal de crash du kernel jupyter cependant, mais on s'adapte.
Autre soucis sur le système de logging utilisé (un truc pas super standard a priori), qui corrompt le terminal/tmux, mais bon c'est pas voulu.
En tout cas x100 sur du code quasi impossible à optimiser sans énorme changement/refactoring, ça ne se refuse pas!
Un bémol cependant, seul un tout petit subset de numpy est accessible (les trucs triviaux de numpy.polynomials ou numpy.linalg ne sont pas disponibles), donc il faut recoder pas mal d’algorithmes à la main, ce qui est franchement dommage.
En attendant une interopérabilité native des kernel jupyter entre eux (python, R et C++ type xeus), c'est une méthode pas mal.
Il reste juste à mapper tout numpy (et supporter le float16!!!)
# gain en performance *vraiment* bon
Posté par riba . En réponse au journal Pythran 0.8.5 - de l'intérêt des compilateurs. Évalué à 3.
Je viens de tester car je n'avais pas trop le choix et devait gagner en perf, et le résultat est bien là.
Les erreurs de compilation sont franchement verbeuses, mais quand on est habitué au C++ on s'y retrouve.
J'ai découvert l'intégration ipython/jupyter suite à mes tests, et c'est vraiment ce qui va rendre le truc accessible IMHO.
J'ai eu pas mal de crash du kernel jupyter cependant, mais on s'adapte.
Autre soucis sur le système de logging utilisé (un truc pas super standard a priori), qui corrompt le terminal/tmux, mais bon c'est pas voulu.
En tout cas x100 sur du code quasi impossible à optimiser sans énorme changement/refactoring, ça ne se refuse pas!
Un bémol cependant, seul un tout petit subset de numpy est accessible (les trucs triviaux de numpy.polynomials ou numpy.linalg ne sont pas disponibles), donc il faut recoder pas mal d’algorithmes à la main, ce qui est franchement dommage.
En attendant une interopérabilité native des kernel jupyter entre eux (python, R et C++ type xeus), c'est une méthode pas mal.
Il reste juste à mapper tout numpy (et supporter le float16!!!)