En fait non. Si tu as vraiment besoin de calculs très rapides sur de grosses quantités de données, tu fais des sous-routines en C.
Python 3.0 est plus lent sur trois points :
- le calcul de petits entiers car tous les entiers sont maintenant de précision arbitraire ("infinie" si ce n'est bien sûr la mémoire virtuelle disponible pour le processus)
- les chaînes de caractères qui sont désormais unicode par défaut (avec une occupation mémoire doublée et donc une moins grande efficacité des caches)
- la couche IO qui a été réécrite, et pour l'instant en majorité en Python plutôt qu'en C
Les deux premiers points ne sont pas cruciaux, car les pertes ne sont pas énormes comparées au coût d'interprétation qui lui n'a pas vraiment changé. Le troisième point devra être corrigé dans Python 3.1.
Et Guido van Rossum qui se plaignait que les autres langages de scripts devenaient des vraies poubelles et gagnait en lourdeur au fil de leur évolution ?
Je ne sais pas à quoi tu fais allusion mais il parlait certainement de l'accumulation de bricolages syntaxico-sémantiques qui mène à ce à quoi ressemblent Perl ou Javascript aujourd'hui. De ce côté-là Python 3 est effectivement une simplification.
[^] # Re: Trollons peu trollons bien
Posté par Antoine . En réponse à la dépêche Sortie de Python 3.0 version finale. Évalué à 2.
En fait non. Si tu as vraiment besoin de calculs très rapides sur de grosses quantités de données, tu fais des sous-routines en C.
Python 3.0 est plus lent sur trois points :
- le calcul de petits entiers car tous les entiers sont maintenant de précision arbitraire ("infinie" si ce n'est bien sûr la mémoire virtuelle disponible pour le processus)
- les chaînes de caractères qui sont désormais unicode par défaut (avec une occupation mémoire doublée et donc une moins grande efficacité des caches)
- la couche IO qui a été réécrite, et pour l'instant en majorité en Python plutôt qu'en C
Les deux premiers points ne sont pas cruciaux, car les pertes ne sont pas énormes comparées au coût d'interprétation qui lui n'a pas vraiment changé. Le troisième point devra être corrigé dans Python 3.1.
Il y a des comparaisons de performance entre Python 2.5 / 2.6 / 3.0 ici (mais attention, versions beta, pas versions finales, il y a eu quelques corrections entre temps) :
http://mail.python.org/pipermail/python-dev/2008-August/0819(...)
Et Guido van Rossum qui se plaignait que les autres langages de scripts devenaient des vraies poubelles et gagnait en lourdeur au fil de leur évolution ?
Je ne sais pas à quoi tu fais allusion mais il parlait certainement de l'accumulation de bricolages syntaxico-sémantiques qui mène à ce à quoi ressemblent Perl ou Javascript aujourd'hui. De ce côté-là Python 3 est effectivement une simplification.