Я считаю, что я понимаю основы встроенных функций: вместо вызова функции, приводящего к установке параметров в стек, и операции вызова, определение функции копируется во время компиляции туда, куда был сделан вызов, сохраняя накладные расходы вызова во время выполнения.
Итак, я хочу знать:
-
Использует ли scalac smarts для встраивания некоторых функций (например, private def) без подсказок из аннотаций?
-
Как я могу судить, когда неплохо было бы намекнуть на скаляс, что он строит функцию?
-
Может ли кто-нибудь поделиться примерами функций или вызовов, которые должны или не должны быть встроены?