J'ai fait de très mineures modifications histoire que ça soit plus pythonique :
#!/usr/bin/pythonn=500000x=0.2deft(x):mu=10.0pu=0.0pol=[0]*100r=range(0,100)foriinxrange(0,n):#Ici xrange pour pas allouer une grosse liste pour rienforjinr:pol[j]=mu=(mu+2.0)/2.0su=0.0forvalinpol:#ici j'itère sur la liste histoire de ne pas passer inutilement par un indicesu=x*su+valpu+=su# += pour faire bôreturnpuforiinrange(0,10):printt(x)
Je passe sur ma machine de 231.824s à 209.599s, soit presque 10% de gain. Gambas reste donc bien plus rapide, ce qui montre bien que le typage statique permet des optimisations intéressantes, même avec un simple interpréteur.
Et (après avoir installé Psyco !) le code s'exécute en 84.306s, soit presque 3 fois plus rapidement. Évidemment Psyco c'est que x86 et plus trop maintenu, mais ça donne une idée de ce qu'on va avoir avec PyPy qui est annoncé comme 5 fois plus rapide que CPython.
L'équipe de Gambas relèvera-t-elle le défi en implémentant du JIT (le suspens est à son comble) ?? :)
J'en profite au passage pour féliciter ladite équipe pour son travail.
# Les benchs c'est stupide...
Posté par GuieA_7 (site web personnel) . En réponse à la dépêche Gambas 3 est sorti le 31 décembre 2011. Évalué à 4.
... mais on aime ça! :)
Je me suis amusé avec le premier benchmark, dont voici le code original :
J'ai fait de très mineures modifications histoire que ça soit plus pythonique :
Je passe sur ma machine de 231.824s à 209.599s, soit presque 10% de gain. Gambas reste donc bien plus rapide, ce qui montre bien que le typage statique permet des optimisations intéressantes, même avec un simple interpréteur.
Puis j'ai rajouté ceci après le shebang:
Et (après avoir installé Psyco !) le code s'exécute en 84.306s, soit presque 3 fois plus rapidement. Évidemment Psyco c'est que x86 et plus trop maintenu, mais ça donne une idée de ce qu'on va avoir avec PyPy qui est annoncé comme 5 fois plus rapide que CPython.
L'équipe de Gambas relèvera-t-elle le défi en implémentant du JIT (le suspens est à son comble) ?? :)
J'en profite au passage pour féliciter ladite équipe pour son travail.