擅长:python、mysql、java
<p>另一件需要注意的事情是,“使用更少的内存”<em>通常也意味着“运行得更快”。lazy(迭代器)版本一计算出每个产品,就将其消耗掉,并将其添加到运行总和中。产品和运行总和几乎都肯定在一级缓存中。如果首先计算所有产品,那么根据元素的数量,可以确定计算的第一个产品将从一级缓存中踢出,然后从二级缓存中踢出,并且。。。因此,当第二次将它们相加时,所有的产品在内存层次结构中都很低(最极端的是,必须从分页文件中读取)。</p>
<p>但我不清楚你所说的“看不出它的行为有什么不同”。无论哪种方式,最终的计算结果都是相同的。</p>