Kotlin inline functions. Когда использовать?

я всё ещё не понимаю когда и как использовать inline функции. К примеру у нас есть цикл на 20 итераций. Допустим у нас есть код:

val getItem: (Int) -> Item? = { slotId -> ControllerPlayerItems.inventory[slotId] }
val setItem: (Int, Item?) -> Unit = { slotId, item -> ControllerPlayerItems.inventory[slotId] = item }

for(i in 0..20)
    ActorItemSlot(getItem, setItem)

Так-как лямбды вне цикла, создаться 2 объекта. Это быстрее чем если-бы я создавал их прям в цикле. Inline функции могут использоваться для того, что-бы переписать лямбды прям в цикл, при этом не создавая лишних объектов? Какой из двух вариантов более производительный? Что значит "не инлайнить большие функции (прим. из документации)"


Ответы (0 шт):