gpt4 book ai didi

python - python 3中的发电机速度

转载 作者:太空狗 更新时间:2023-10-29 20:55:04 27 4
gpt4 key购买 nike

我正在浏览 link about generators有人发帖。一开始他比较了下面的两个函数。在他的设置中,他显示了发电机的速度增加了 5%。

我正在运行 Windows XP、Python 3.1.1,但似乎无法复制结果。当使用提供的日志和高达 1GB 的重复数据进行测试时,我一直显示“旧方法”(logs1) 稍微快一些。

谁能帮我理解发生了什么不同的事情?

谢谢!

def logs1():
wwwlog = open("big-access-log")
total = 0
for line in wwwlog:
bytestr = line.rsplit(None,1)[1]
if bytestr != '-':
total += int(bytestr)
return total

def logs2():
wwwlog = open("big-access-log")
bytecolumn = (line.rsplit(None,1)[1] for line in wwwlog)
getbytes = (int(x) for x in bytecolumn if x != '-')
return sum(getbytes)

*编辑,复制/粘贴时间距乱了

最佳答案

就其值(value)而言,演示文稿中速度比较的主要目的是指出使用生成器不会带来巨大的性能开销。许多程序员在第一次看到生成器时,可能会开始怀疑隐藏的成本。例如,幕后是否有各种奇特的魔术在进行?使用此功能是否会使我的程序运行速度减慢两倍?

通常情况并非如此。该示例旨在表明生成器解决方案可以以基本相同的速度运行,即使在某些情况下不会稍微快一些(尽管这取决于情况、Python 版本等)。如果您观察到两个版本之间的性能存在巨大差异,那么这将是值得研究的事情。

关于python - python 3中的发电机速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2399308/

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