У меня есть функция, которая выполняет всего несколько операций, таких как приращение. Я объявил это как inline
и с __attribute__((hot))
.
Gcc Docпредлагает следующее для атрибута hot
:
Атрибут hot используется для информирования компилятора о том, что функция является горячая точка скомпилированной программы. Функция оптимизирована более агрессивно и на многих таргетах помещается в специальный подраздел текстового раздела, чтобы все популярные функции отображались близко друг к другу улучшение местности.
, что можно интерпретировать как невстроенные
горячие функции, которые будут помещены в нижнюю адресную область карты адресов процесса. Но предполагается, что вызовы встроенных
функций буквально заменяются их кодом. Итак, вопрос в том, как на самом деле работает комбинация inline
и hot
?