Tengo una función que realiza solo algunas operaciones, como incrementos. Lo he declarado como inline
y con __attribute__((hot))
.impacto en el rendimiento de la combinación "caliente" y "en línea" para una definición de función
Gcc Doc sugiere seguir para hot
atributo:
El atributo caliente se utiliza para informar al compilador que una función es un punto caliente del programa compilado. La función se optimiza más agresivamente y en muchos destinos se coloca en la subsección especial de la sección de texto para que todas las funciones activas aparezcan juntas mejorando la localidad.
que pueden interpretarse como para las funciones en caliente no inline
que se colocarían en el área de dirección inferior del mapa de direcciones del proceso. Pero las llamadas a las funciones inline
se suponen literalmente reemplazadas por su código. Entonces la pregunta es ¿cómo funciona realmente la combinación de inline
y hot
?