gpt4 book ai didi

python - Python 3 中的类实例化比 Python 2 慢

转载 作者:太空狗 更新时间:2023-10-30 01:21:09 25 4
gpt4 key购买 nike

我偶然注意到一个从大型数据文件生成类的简单程序在 Python 2.7 与 3.5 中运行得更快。我读了here使用“无限精度”整数是导致简单枚举速度变慢的罪魁祸首,但即使我尝试实例化此类的简单测试,我也发现 Python 3 速度明显变慢:

class Benchmark(object):
def __init__(self):
self.members = ['a', 'b', 'c', 'd']


def test():
test = Benchmark()

if __name__ == '__main__':
import timeit
print(timeit.timeit("test()", setup="from __main__ import test"))

我认为这可能与每个类实例的大小有关,但 Python 3 实例小于 2(56 对 64)

$python3 benchmarks.py
0.7017288669958361
$python benchmarks.py
0.508942842484

我已经尝试过很多关于这个主题的变体,包括在不同机器上使用 3.4,但仍然得到相同的结果。知道发生了什么事吗?

最佳答案

你不是在测量类实例化时间,你是在测量类实例化,加上赋值,加上列表创建,......

这是一个正确的基准:

$ python -m timeit -s 'class C(object): pass' 'C()'
10000000 loops, best of 3: 0.0639 usec per loop
$ python3 -m timeit -s 'class C(object): pass' 'C()'
10000000 loops, best of 3: 0.0622 usec per loop

如您所见,Python 3 明显更快。

关于python - Python 3 中的类实例化比 Python 2 慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33572383/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com