栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为什么Python 3比Python 2慢很多?[重复]

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么Python 3比Python 2慢很多?[重复]

不同之处在于

int
类型的实现。蟒3.X使用任意大小的整数类型(
long
在2.X)排他地,而在Python
x为值高达
sys.maxint
更简单的
int
类型被用于使用一个简单的C
long
引擎盖下。

将循环限制为

long
整数后,Python 3.x会更快:

>>> from timeit import timeit>>> MAX_NUM = 3*10**3>>> def bar():...     i = MAX_NUM + sys.maxsize...     while i > sys.maxsize:...         i -= 1...

Python 2:

>>> timeit(bar, number=10000)5.704327821731567

Python 3:

>>> timeit(bar, number=10000)3.7299320790334605

我用

sys.maxsize
作为
sys.maxint
从Python 3的下降,但整数值基本相同。

因此,Python 2中的速度差异仅限于第一个(2 63)-64位为1整数,(2 31)-32位系统为1整数。

由于您无法在Python 2上使用该

long
类型
xrange()
,因此我没有对该函数进行比较。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/611959.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号