我有一堆用Python 2.4编写的应用程序。我想将它们移植到最新版本的解释器中。假设我不需要语法功能,但是我非常担心性能。那么哪个较高的python版本是最快(最优化)的-2.4或2.5或2.6或2.7?

性能比较文章(URL)非常受赞赏。

谢谢

最佳答案

通常,沿着2.*行的每个后续版本都会比上一个版本快一些-因为优化和微调对于许多贡献者来说都是高优先级。

我不了解有关性能配置的任何文章:我的建议是通过分析来识别特定应用程序的“热点”(但是,如果您“非常关注性能”,那么可以肯定的是,您已经在这样做了)将它们转换为微基准,以在所有四个版本上的timeit上运行。

例如,假设已知''.join短字符串的中等长度列表是应用程序中的热点。然后,我们可以测量:

$ python2.4 -mtimeit -s'x=[str(i) for i in range(99)]' '"".join(x)'
100000 loops, best of 3: 2.87 usec per loop
$ python2.5 -mtimeit -s'x=[str(i) for i in range(99)]' '"".join(x)'
100000 loops, best of 3: 3.02 usec per loop
$ python2.6 -mtimeit -s'x=[str(i) for i in range(99)]' '"".join(x)'
100000 loops, best of 3: 2.7 usec per loop
$ python2.7 -mtimeit -s'x=[str(i) for i in range(99)]' '"".join(x)'
100000 loops, best of 3: 2.12 usec per loop


在这种情况下,python2.5并不遵循其他发行版的总体趋势(重复测量确认该微基准测试的速度比python2.4慢约5%),而2.7则比预期的要快(比2.4快26%+) ,但这是针对特定的构建和平台(当然还有特定的微基准测试)的,这就是为什么对您感兴趣的基准和平台/构建进行此类测量(如果您愿意接受的话)很重要的原因一般认为,以后的构建会更快,那么您并不是真的非常在乎性能;-)。

关于python - 从Python 2.4移植旧应用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3485886/

10-13 05:46
查看更多