Это накладные расходы на ленивые структуры (ответ pmjordan хорош для того, чтобы дать вам кровавые подробности .....). Моя очень приблизительная оценка - вы платите штраф в 2-5 раз.
Однако есть и некоторые плюсы:
- Ленивая оценка означает, что ваш рабочий набор данных может быть меньше, поскольку он создается только при необходимости. Это может улучшить использование кэша и, следовательно, производительность в некоторых случаях
- Ленивая оценка поможет вам написать более простой и понятный код. Таким образом, вы можете сосредоточить свое внимание на написании лучших алгоритмов. Выгода от наличия лучшего алгоритма (например, O (n log n) против O (n ^ 2)) может стоить намного больше, чем накладные расходы на ленивую оценку
Мой совет - использовать ленивый анализ свободно, если вы не уверены, что находитесь в ситуации, когда вам действительно нужна высокая производительность и вы не можете позволить себе дополнительные затраты (например, обработка изображений или что-то в этом роде ...)