У меня вопрос, как использование генераторов уменьшает потребление памяти?, например: у нас есть файл допустим 1 гб, и когда мы перебераем простым while(), и foreach() c использованием генераторов, то у нас во втором случае потребление памяти мало, почему это происходит?, КАК?._.