Ça depend aussi de la fonction utilisé sur range.
En prenant xrange, j'ai ça :
/tmp $ time python p.py
4012009 n'est pas premier
0.99user 0.40system 0:02.88elapsed 48%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+16442minor)pagefaults 0swaps
/tmp $ perl -pi 's/range/xrange/' p.py
/tmp $ time python p.py
4012009 n'est pas premier
0.05user 0.01system 0:00.07elapsed 89%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+680minor)pagefaults 0swaps
/tmp $ grep psyco p.py
/tmp $ ( echo 'import psyco' ; echo "psyco.full()" ; cat p.py ) > p2.py
/tmp $ time python p2.py
4012009 n'est pas premier
0.06user 0.02system 0:00.29elapsed 30%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (2major+838minor)pagefaults 0swaps
/tmp $ time ruby p.rb
4012009 n'est pas premier
0.02user 0.00system 0:00.86elapsed 3%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (14major+380minor)pagefaults 0swaps
/tmp $ time perl p.pl
4012009 n'est pas premier
0.00user 0.00system 0:00.01elapsed 63%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+411minor)pagefaults 0swaps
Ou on voit que le fait de compiler avec psyco a un impact non négligeable sur le bench, quand on utilise xrange. Il faudrait donc le faire tourner sur un nombre bien plus grand ( et surtout premier ).
[^] # Re: sources
Posté par Misc (site web personnel) . En réponse au message bench : pourquoi python serait lent ?. Évalué à 3.
En prenant xrange, j'ai ça :
/tmp $ time python p.py
4012009 n'est pas premier
0.99user 0.40system 0:02.88elapsed 48%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+16442minor)pagefaults 0swaps
/tmp $ perl -pi 's/range/xrange/' p.py
/tmp $ time python p.py
4012009 n'est pas premier
0.05user 0.01system 0:00.07elapsed 89%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+680minor)pagefaults 0swaps
/tmp $ grep psyco p.py
/tmp $ ( echo 'import psyco' ; echo "psyco.full()" ; cat p.py ) > p2.py
/tmp $ time python p2.py
4012009 n'est pas premier
0.06user 0.02system 0:00.29elapsed 30%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (2major+838minor)pagefaults 0swaps
/tmp $ time ruby p.rb
4012009 n'est pas premier
0.02user 0.00system 0:00.86elapsed 3%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (14major+380minor)pagefaults 0swaps
/tmp $ time perl p.pl
4012009 n'est pas premier
0.00user 0.00system 0:00.01elapsed 63%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+411minor)pagefaults 0swaps
Ou on voit que le fait de compiler avec psyco a un impact non négligeable sur le bench, quand on utilise xrange. Il faudrait donc le faire tourner sur un nombre bien plus grand ( et surtout premier ).