2011-08-14 4 views
4

Je viens d'installer python 2.7 et je trouve qu'il est 25-30% plus lent que 2.6. Quand je cours un de mes programmes sous 2.7, cela prend 1m17s, alors que sous 2.6 ce même prog prend 0m57s. Est-ce commun?python 2.7 vs 2.6 vitesse sur Windows

Inclus dans la mise à niveau sont numpy 1.6.1 (à partir de 1.6.0), pandas 0.4 (à partir de 0.3), et peut-être d'autres choses.

+2

Je posterais du code/plus de détails sur votre programme. Ce qu'il utilise, etc., car il peut y avoir des changements dans des parties spécifiques de python 2.7 ou des bibliothèques. Morde détail: plus probable que quelqu'un peut aider. –

+0

Spécifiquement inclure si c'est une certaine distribution de Python (comme Enthought ou quelque chose) – agf

+0

Et dites-nous ce que le goulot d'étranglement/boucle interne de votre code ressemble. Essayez d'utiliser [cProfile] (http://docs.python.org/library/profile.html). Essayez de modifier les dimensions d'un tableau pour voir ce qui ne l'est pas. – smci

Répondre

2

Mon code fait un usage intensif du module pandas. J'ai écrit à son créateur, Wes McKinney, et lui ai envoyé des profils de code de Python2.6/Pandas0.3 et de Python2.7/Pandas0.4. Il a trouvé que c'était des pandas qui avaient changé (et qui ont ralenti pour mon usage, mais peut-être pas en général) et ont ajouté quelques optimisations pour m'aider. Maintenant, mon code 2.7/0.4 est plus rapide, pas plus lent qu'avant.

0

Je suggère d'utiliser le profile module pour voir où il est ralenti. Il pourrait s'agir d'un ou de tous les changements de version majeurs.

Je suggérerais d'abord de profiler votre ancien programme, puis la nouvelle version de votre programme et de comparer les sorties.

EDIT: Alors que le module pandas est devenu plus lent, il peut y avoir d'autres modules qui ont également ralenti.

Questions connexes