аналогичен любой произвольной задаче с ленивым и неленивым вычислением. В случае ленивых операций у вас есть накладные расходы, но нету промежуточных коллекций, ибо вы делаете только один проход. В случае неленивых операций у вас куча накладных расходов уходят (лямбды не только не надо создавать и хранить, но они просто заинлайнятся), но на каждую операцию будет создаваться по коллекции (вроде такую вещь под капотом проще оптимизировать ещё, но тут я не эксперт, так что цитировать не стоит :D). Обычно считается, что при достаточно большом размере исходной коллекции расходы на неленивый подход дороже.
https://blog.kotlin-academy.com/effective-kotlin-use-sequence-for-bigger-collections-with-more-than-one-processing-step-649a15bb4bf
Обсуждают сегодня