python目前主流使用的版本,Python哪个版本好

  python目前主流使用的版本,Python哪个版本好

  Python 3比Python 2慢吗?Python 3哪个版本最快?有哪些提速的措施?Python哪个版本最快?当然,“这个”取决于很多因素,但具体是什么呢?我们应该如何为我们的应用程序找到最快的Python版本?关于这些问题,今天试着做一些测试。

  正如speed.Python.org网站上提到的在使用Python之前的性能测试程序,Python核心团队非常关注性能。这有助于比较CPython版本的“官方”基准。

  但是,在这个测试中仍然存在一些问题。

  很难看出PyPy不包含在测试中。

  首先,运行命令pip install performance下载测试程序,然后运行以下命令:

  pyperformancerun-python={ choosed _ python _ runtime }-omy _ results。数据

  这个命令将在目标Python版本上多次运行一系列“真实的”APP应用程序,并记录测试结果的平均值。

  本文主要测试Python的以下版本。

  2.7.10、3.4.4、3.5.4、3.6.1、3.7(2)。此外,还测试了pypy(5.6)和pypy3)5.4.10)。

  结果我按照这个测试用例进行了测试。你可以看到测试结果。当然,你也可以创建你自己的测试用例,运行你自己的测试。

  我们还编写了一个简单的脚本来获取性能数据文件的列表,并为每个测试结果创建了一个非常直观的图表。我把这个脚本的代码放在了GitHub上(参考文末链接)。

  在所有图表中,结果都以秒为单位,值越低,性能越好。

  有关完整的测试结果和图表,请参考以下链接:

  3359 github.com/tonybaloney/performance _测试/树/主/png

  我想所有重要的测试都包括在内了。其余测试与已进行的测试相似,并已包含在结论中。

  在呈现HTML模板django_HTML测试时,将使用django模板呈现引擎创建一个150行150列的HTML表。它使用Django引擎的内容和模板类。

  Python3.7比Python 2.7快1.19倍,但Python3.7以外的Python 3版本比Python 2.7慢。这一结果与speed.python.org网站的测试结果一致。

  PyPy的测试结果显示,它的运行速度比任何Python版本的CPython都要快得多,PyPy3的速度是Pypy3的两倍。Django最近决定在Django 2.0或更高版本中放弃对Python 2的支持。这意味着PyPy不再与Django 2兼容。

  启动时间该测试主要用于测试启动Python解释器所需的时间。如果您想要运行多个进程来打破Python的“GIL”约束,这是非常重要的。

  首先跳过PyPy3,尤其是Pypy3。文末讨论过。

  如上图,Python 2.7的启动时间最短。

  加密测试:crypto_paes

  加密测试表明Python 2明显比Python 3快。为什么会这样?加密需要大量的数值运算,但Python 3取消了32位整数,改用长整数。

  对于PyPy用户来说,需要注意的是PyPy3比PyPy慢5倍!

  算法测试:n皇后这个算法可能不会让所有人都感到舒服。用这个算法测试,可能会在算法课上唤起一些人不好的记忆。对此我很抱歉。这个算法的规则其实很简单,就是在棋盘上放上N个“皇后”,保证任意两个“皇后”不在同一行、列或对角线上,这样就不能互相攻击。

  在CPython系列中,Python3.7的表现再次夺冠。另外PyPy和PyPy3py3的测试结果非常相似。

  运算浮点浮点运算测试将手动使用math.cos(,math.sin),math.sqrt)函数创建总共10万个浮点运算app。

  测试结果表明,PyPy非常适合浮点运算,在海量数据处理、可预测类型和方法、循环等方面都有很好的性能。因为Python 3.7体

  有一个新的快速方法调用操作码,所以它是CPython中最快的。

  正则表达式在正则表达式测试中,“我使用了web上最流行的50个网页,并记录了所有的正则表达式操作。每个操作都有一个权重,这个权重是根据页面的受欢迎程度和每个页面被加载的次数来计算的。最后,ROT13用于对数据中的字母进行编码,这不会影响正则表达式匹配其输入的方式。”

  这次测试,不知道PyPy怎么了,想知道其他人有没有得到同样的结果!

  Python 3比Python 2快吗?是啊!在大多数测试中,Python3比Python2快。然而,也有一些明显的例外。在加密测试中,Python3由于整数数据类型比Python2慢1.35倍,在启动时间测试中,Python 3比Python2慢1.39倍。

  3 Python启动慢将是CPython核心团队在3.8和3.9版本中要解决的主要问题之一。

  除了加密和启动时间测试,Python 3在其他测试项目中大约比Python2快1.2-1.3倍。改进后的Python 3.7升级版将于今年年底面世。

  既然PyPy快很多,为什么大家都不用呢?PyPy有一个实时(JIT)编译器,所以它比CPython快。JIT编译器有很大的好处,因为它们在执行可预测的和重复的任务时非常有效。Python性能测试的一个特点是,需要多次运行相同的代码才能使其准确,从而减少应用程序的错误边界。所以PyPy在面对这样的考验时有更好的表现。

  JIT编译器,尤其是PyPy的JIT编译器,最明显的缺点就是启动成本高。另一个缺点是许多C语言扩展缺乏兼容性。因为“Python”(CPYTHON,PSF官方Python)是用C语言写的,PyPi上的很多第三方扩展都利用了这一点。Numpy就是一个很好的例子。Numpy的大部分代码都是用优化的C代码写的。当Charming Quicksand执行pip install numpy命令时,它将使用本地C编译器为您的Python运行时构建一个二进制库,供Python程序使用。

  由于PyPy是用Python写的,很多模块根本不能用PyPy,所以需要经常检查。

  此外,PyPy也要面临和CPython一样的挑战:从Python2变成Python3。直到最近我还是发现PyPy3不稳定,测试中还是出现了一些奇怪的结果。其他一些软件包也遇到了问题,比如PyTest,所以放弃了对PyPy3的支持。

  结论Python 3.7是最快的“官方”Python版本,PyPy是我测试过的解释器中最快的。

  如果以后Python2用的越来越少,就算PyPy3不能比Pypy3快,我也希望它在速度上有所提升。

  857662006免费提供更多Python视频、源代码和资料。

  转载至:https://mp.weixin.qq.com/s/n_jOzv_RDle7FCYfvlVwiA

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: