在Python性能比较中产量

时间:2016-07-25 15:46:13

标签: python

我正在阅读有关Python中的Yield表达式和生成器的信息,这种方法在大量计算过程中非常鼓励。

要检查一下,我已经创建了一个简单的.py脚本,以便使用yield表达式和内存范围内置类来测量一种方法之间的时间。

这是脚本:

import time

def pow():
    for i in  range(100000000):
        yield i*i


start_time = time.time()

for i in pow():
    res = i

print('Seconds Yield: {0}'.format(time.time() - start_time))

start_time = time.time()

for i in range(100000000):
    res = i*i

print('Seconds in-memory: {0}'.format(time.time() - start_time))

这有点奇怪的行为,因为,我已经通过我的终端运行脚本,结果是:

Seconds Yield: 17.303140878677368
Seconds in-memory: 17.322022914886475

我期待"收益率"方法,但无论如何都高于内存方法"。

我已经检查了我的系统监视器,如果使用的RAM或CPU的热量有差异,但无论如何都是相同的......

......有人可以解释我为什么???

感谢。

0 个答案:

没有答案