(au kazou, rappelons que l'optimisation prématurée est mère de tous les maux)
Ça semble intéressant, mais je n’y connais rien. Je constate que ton projet semble concerner avant tout le calcul.
Farpaitement
Qu’est-ce que tu conseillerais pour celui qui manipule massivement des strings et des expressions régulières dans ses programmes ?
Pas évident… en se basant sur ce bench tu vois que le moteur de regexp de Python n'est pas le plus flamboyant (niveaux perf) de la planète. Une possibilité serait d'utiliser un backend de regex plus performant (celui de perl, semble-t-il). Il y en a un dans C++11 mais je ne sais pas ce qu'il vaut.
Pour ce qui est de la manip' de string, c'est un domaine d'optimisation que je connais peu. Shedskin supporte le module re et la manipulation de chaîne, tu peux regarder ce que ça donne…
PyPy est généralement très bon (cf. les benchs du post), si tu l'essaie sur ton cas et nous donne un retour, ça peut intéresser du monde (en tout cas ça m'intéresse).
Et oui, l'idée serait de compiler ça en module natif appelable depuis python. c'est ce que fait Pythran , mais certainement pas pour ton cas.
[^] # Re: Manipulation de chaînes de caractères ?
Posté par serge_sans_paille (site web personnel) . En réponse au journal Pythran à Scipy2013 !. Évalué à 4.
(au kazou, rappelons que l'optimisation prématurée est mère de tous les maux)
Farpaitement
Pas évident… en se basant sur ce bench tu vois que le moteur de regexp de Python n'est pas le plus flamboyant (niveaux perf) de la planète. Une possibilité serait d'utiliser un backend de regex plus performant (celui de perl, semble-t-il). Il y en a un dans C++11 mais je ne sais pas ce qu'il vaut.
Pour ce qui est de la manip' de string, c'est un domaine d'optimisation que je connais peu. Shedskin supporte le module
reet la manipulation de chaîne, tu peux regarder ce que ça donne…PyPy est généralement très bon (cf. les benchs du post), si tu l'essaie sur ton cas et nous donne un retour, ça peut intéresser du monde (en tout cas ça m'intéresse).
Et oui, l'idée serait de compiler ça en module natif appelable depuis python. c'est ce que fait Pythran , mais certainement pas pour ton cas.