На самом деле, если у вас есть несколько шагов на фильтруемый массив, ленивый медленнее. Смотрите редактирование моего ответа. Я понимаю, что вы говорите, имея дело только с небольшой частью отфильтрованного результата.
[1, 2, 3, -1, -2].filter({ $0 > 0 }).count // => 3
[1, 2, 3, -1, -2].lazy.filter({ $0 > 0 }).count // => 3
преимущество добавленияlazy
ко второму утверждению. Согласно моему пониманию, когдаlazy
переменная используется, память инициализируется этой переменной в тот момент, когда она используется. Как это имеет смысл в этом контексте?
Пытаясь понять использованиеLazySequence
немного подробнее. Я использовалmap
, reduce
а такжеfilter
функции на последовательностях, но никогда наlazy
последовательность. Нужно понять, зачем это использовать?