İçeriğe geç

Büyük koleksiyon kopyalama (ARCH2086)

Anahtar python.performance.large-collection-copy · Önem info · Kategori performance

Bir üreteci yalnızca üzerinde dolaşmak için list() ile tam materyalize etmek tüm öğeleri belleğe alır. Üreteç üzerinde doğrudan akış yapın.

def total_amount(rows):
items = list(r.amount for r in rows)
return sum(items)
def total_amount(rows):
return sum(r.amount for r in rows)

Yalnızca dolaşılacak üreteçleri list() ile materyalize etmeyin; doğrudan akış yapın.