Встроенные функции могут быть быстрее, потому что они избегают затрат на вызов функции и возвращают накладные расходы.Помните, что компиляторы могут отказаться от встроенных функций.
В большинстве переводчиков необходимо передать параметры функции и выделить место для параметров и локального хранилища любой функции.С обратной стороны, локальные переменные функции должны быть удалены, и обычно возвращено значение.
Для простых функций, таких как геттеры и сеттеры, накладные расходы на вызов и возврат функции больше, чем код в функции.Таким образом, встраивание ускорит эти функции.
Встроенные функции также удаляют инструкцию перехода для вызова функции.Это уменьшает вероятность того, что процессор очистит кэш / конвейер команд.Хотя современные процессоры внедрили алгоритмы, чтобы уменьшить негативное влияние команд перехода.
В моей практике программирования я использую небольшие (3 или менее строки) методы.Если я собираюсь встроить по соображениям производительности, я буду профилировать перед вставкой.