Когда я должен (и не должен) использовать Scala @ встроенная аннотация?

Я полагаю, что я понимать основы встроенных функций: вместо вызова функции, в результате которого параметры помещаются в стек и происходит операция вызова, определение функции копируется во время компиляции туда, где был сделан вызов,сохранение накладных расходов на вызовы во время выполнения.

Итак, я хочу знать:

  • Использует ли scalac умные элементы для встраивания некоторых функций (например, private def) без подсказок из аннотаций?

  • Как я могу судить, когда это хорошо идея намекнуть scalac, что он встраивает функцию?

  • Может ли кто-нибудь поделиться примерами функций или вызовов, которые должны или не должны быть встроены?

39
задан Graham Lea 4 January 2011 в 12:45
поделиться