【发布时间】:2010-10-20 01:43:46
【问题描述】:
将许多生成器链接在一起,而不是仅使用单个生成器,是否有任何性能考虑?
例如:
def A(self, items):
for item in self.AB(items):
if object.A():
yield item
def AB(self, items):
for object in self.ABC(objects):
if object.A() or object.B():
yield object
def ABC(self, objects):
for object in objects:
if object.A() or object.B() or object.C():
yield object
显然调用A(objects) 将通过三个不同的生成器,但在许多情况下,如果有不同的生成器来处理不同的过滤,它会使代码更好地重用。谁能指出使用这种技术会对性能产生重大影响?
【问题讨论】:
标签: python performance generator