Во-первых, как всегда при решении проблем с производительностью, вы должны попытаться измерить узкие места с помощью профилировщика. Первое, что выходит, обычно это не вызовы функций, а с большим отрывом. Если вы это сделали, то, пожалуйста, продолжайте читать.
Затем вы можете немного предвидеть, какие функции вы хотите встроить, используя ключевое слово inline
. Компилятор, как правило, достаточно умен, чтобы знать, что встроить, а что нет (он может встроить функции, которые вы забыли, и может не включать некоторые из упомянутых вами, если он считает, что это не поможет).
Если (действительно) вы все еще хотите улучшить производительность при вызове функций и хотите принудительно использовать встраивание, некоторые компиляторы позволяют вам это сделать (см. Этот вопрос ). Учтите, что массовое встраивание может фактически снизить производительность: ваш код будет использовать много памяти, и вы можете получить больше кеш-ошибок в коде, чем раньше (что не очень хорошо).