https://kotlinlang.org/docs/inline-functions.html

Inline Functions

Способ оптимизации производительности за счет устранения накладных расходов, связанных с вызовом функций, особенно при использовании лямбд. Основная идея состоит в том, что тело функции и переданные лямбды будут вставлены (“инлайнятся”) в место вызова функции, что исключает создание дополнительных объектов и вызовов. В Kotlin лямбды активно используются, но их вызов обычно создает накладные расходы на создание дополнительных объектов (анонимных классов или функций), что может сказаться на производительности в критичных участках кода (например, в циклах или высоконагруженных операциях). Инлайн-функции помогают решить эту проблему.

Когда инлайнить функцию?

Когда не стоит инлайнить?

inline

noinline

crossinline

reified

Inline Properties

Вопросы на собесе (11)