迅闻网
让更多人看到你

python下载官网(python下载哪个版本好)

  python下载官网

Python官网链接:https://www.python.org/。

python下载哪个版本好

Python3比Python2慢吗?哪个版别的Python3速度最快?还有哪些办法能够提高速度?究竟哪个版别的Python是最快的?当然,”这取决于”多种因素,但它具体取决于什么,咱们应当如何为自己的运用程序找到最快的Python版别呢?就这些问题,今天我来试着做一些测验。
运用Python功能测验程序
可是这个测验依然存在一些问题:
测验成果不易理解
测验不包括PyPy
首要,履行指令pipinstallperformance来下载测验程序,然后履行以下指令:
pyperformancerun–python=-omy_results.json
该指令将针对Python的目标版别屡次运转一系列”实在”运用的测验程序,并记录测验成果的平均值。
在本文中,我首要对以下版别的Python进行了测验:
2.7.10,
3.4.4,
3.5.4,
3.6.1,
3.7(beta2)。
此外,还测验了PyPy(5.6)和PyPy3(5.4.10)。
测验成果
我现已根据这套测验用例进行了测验,咱们能够检查测验成果。当然,你也能够编写自己的测验用例并运转自己的测验。
我还编写了一个简单的脚本,用来获取功能数据文件列表,并为每个测验成果制作了十分直观的图表。我将这个脚本的代码放在了GitHub上(见文末链接)。
在一切图表中,成果都以秒为单位,数值越低阐明功能越好。
关于完整的测验成果和图表,能够检查以下链接:
https://github.com/tonybaloney/performance_testing/tree/master/png
我认为很重要的测验都包括在其间了。其他的测验与现已进行的测验迥然不同,现已包括在结论中了。
烘托HTML模板
django_html测验将运用Django模板烘托引擎创立一个150行×150列的HTML表格。它利用了Django引擎的内容和模板类。
PyPy的测验成果显现,其运转速度比任何一个CPython的Python版别都快得多,而PyPy3则会比PyPy慢两倍。需求注意的是,Django最近决定在Django2.0及更高版别中将抛弃对Python2的支撑,这意味着PyPy将不再与Django2兼容。
发动时刻
该测验首要用来测验Python解说器发动所花费的时刻。如果你计划运转多个进程来打破Python的”GIL”束缚,那么这将是十分重要的。
此处我先跳过PyPy,尤其是PyPy3,我会在文章结尾再进行讨论。
从上图可见,Python2.7的发动时刻是最短的。
加密测验:crypto_paes
在加密测验中,你会发现Python2相比Python3的速度明显快得多。什么原因呢?因为加密需求许多的数字运算,而Python3抛弃了32位整型,取而代之的是长整型。
关于PyPy用户来说,你应该会注意到PyPy3比PyPy慢5倍!
算法测验:n-queens
这个算法可能不会让一切人都适意,用这个算法来进行测验,可能会勾起一些人当初在算法课上阅历的不夸姣回忆,对此我只能说抱愧了。这个算法的规则实际上很简单,便是把n个”皇后”放在棋盘上,确保任意两个”皇后”都不在同一行、同一列或许同一斜线上,使她们攻击不到互相。
在CPython系列中,Python3.7的功能再次夺魁。此外,PyPy和PyPy3的测验成果十分相似。
浮点运算
在浮点运算的测验中,我将人为地通过math.cos(),math.sin()和math.sqrt()函数创立深重的浮点运算运用程序,总共创立10万个浮点对象。
从测验成果能够看出,PyPy十分适合浮点运算,关于许多的数据处理、可预测的类型和方法以及循环,PyPy展现出了杰出的功能。因为Python3.7具有新的快速方法调用操作码,因而在CPython中,它的速度最快。
正则表达式
在正则表达式测验中,”我运用了网络上最流行的50个网页,并记录一切正则表达式操作。每个操作都有一个权重,它根据页面出现的抢手程度以及加载每个页面时履行的次数计算得来。最终,运用ROT13对数据中的字母进行编码,这样不会影响正则表达式匹配其输入的方式。”
在这个测验中,我不知道PyPy出了什么问题,我很想知道其他人是否得到相同的成果!
更新:PyPy团队看到了这篇文章,并在几个小时内处理了这个问题
@cfbolz@anthonypjshaw处理了这个问题:https://t.co/9UuNj1Gd8F
Python3比Python2更快吗?
是的!在大多数测验中,Python3都比Python2更快。但有几个例外情况值得注意,在加密测验中,因为整型数据类型的原因,Python3的速度比Python2慢了1.35倍,在发动时刻测验中,Python3则比Python2慢了1.39倍。
Python3发动慢的问题将会是CPython中心团队在3.8和3.9版别中首要处理的问题之一。
除了加密和发动时刻测验之外,在其他的测验项目中,Python3的速度比Python2大约快1.2-1.3倍。改进后的Python3.7升级版将会在今年年底面世。
既然PyPy快得多,为什么不是一切人都运用它呢?
PyPy具有即时(JIT)编译器,因而它比CPython快。JIT编译器具有很大的优点,因为它们在履行可预测的重复性任务时十分高效。Python功能测验的其间一个特点是,你需求屡次运转同一段代码以使其准确无误,从而减少运用程序的过错鸿沟。因而,PyPy面临这样的测验功能更优。
JIT编译器,尤其是PyPy的JIT编译器最明显的缺陷是发动本钱高。另一个缺陷是许多C言语扩展程序缺乏兼容性。因为”Python”(CPython,官方的PSFPython)是用C言语编写的,PyPi上的许多第三方扩展利用了这一点。Numpy便是一个很好的例子,Numpy的大部分代码都是用优化的C代码编写的。当你履行pipinstallnumpy指令时,它会运用本地C编译器为你的Python运转时树立一个二进制库,供Python程序运用。
因为PyPy是用Python编写的,许多模块底子无法在PyPy中作业,所以你需求经常进行检查。
此外,PyPy也需求面临与CPython相同的挑战:从Python2向Python3转变。直到最近我依然发现PyPy3不稳定,在测验中依然会出现一些奇怪的成果。一些其他的软件包遇到了问题,比方PyTest,因而它们抛弃了对PyPy3的支撑。
结论
Python3.7是速度最快的”官方”Python版别,在我测验过的解说器中,PyPy则是最快的。
如果Python2今后用得越来越少,即使PyPy3无法比PyPy更快,我也期望它在速度上有所提升。
最终,引荐咱们精心打磨的Python课程,根据Python3的,期望能帮到你。
检查英文原文:https://hackernoon.com/which-is-the-fastest-version-of-python-2ae7c61a6b2b

未经允许不得转载:迅闻网 » python下载官网(python下载哪个版本好)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

迅闻网-让更多人看到你

登录/注册返回首页