merci pour les remarques, constructives à défaut d'être encourageantes ;-)
Par acquit de conscience, j'ai lancé un petit bench (un quicksort dont le code cython est donné là et dont le code python est identique aux cdef prêts.
J'ai fait mouliné ça sur des tableaux de flottants numpy.array (sauf pour shedskin qui supporte pas) de taille 10000, à l'aide du module timeit et en prenant la médiane sur 11 runs. Tout ce qui peut être compilé est compilé en -O2.
le classement est au final assez représentatif de ce que l'on pouvait attendre: plus on met d'effort / de contraintes plus on obtient de perfs. 0 efforts pour pypy et de sacré bonnes perfs, pas mal d'annotations avec cython et de très bonnes perfs.
/me va rejouer le même jeu sur un matrix multiply pour voir.
[^] # Re: Pypy
Posté par serge_sans_paille (site web personnel) . En réponse au journal pythran: python -> c++. Évalué à 6.
merci pour les remarques, constructives à défaut d'être encourageantes ;-)
Par acquit de conscience, j'ai lancé un petit bench (un quicksort dont le code cython est donné là et dont le code python est identique aux
cdefprêts.J'ai fait mouliné ça sur des tableaux de flottants
numpy.array(sauf pour shedskin qui supporte pas) de taille 10000, à l'aide du moduletimeitet en prenant la médiane sur 11 runs. Tout ce qui peut être compilé est compilé en -O2.python: 11.802s
pypy: 0.120s
shedskin: 0.096
pythran: 0.092
cython: 0.060
le classement est au final assez représentatif de ce que l'on pouvait attendre: plus on met d'effort / de contraintes plus on obtient de perfs. 0 efforts pour pypy et de sacré bonnes perfs, pas mal d'annotations avec cython et de très bonnes perfs.
/me va rejouer le même jeu sur un matrix multiply pour voir.