73 votes

Comment forcer gcc à inline une fonction ?

__attribute__((always_inline)) force-t-il une fonction à être alignée par gcc ?

23voto

jmkeyes Points 2621

Oui, il sera. Cela ne veut pas dire que c'est une bonne idée.

13voto

Basile Starynkevitch Points 67055

Selon la documentation des options d'optimisation de gcc , vous pouvez régler l'inlining avec les paramètres :

 -finline-limit=n
By default, GCC limits the size of functions that can be inlined. This flag 
allows coarse control of this limit. n is the size of functions that can be 
inlined in number of  pseudo instructions.

Inlining is actually controlled by a number of parameters, which may be specified
individually by using --param name=value. The -finline-limit=n option sets some 
of these parameters as follows:

    max-inline-insns-single is set to n/2. 
    max-inline-insns-auto is set to n/2.

Je suggère de lire plus en détail tous les paramètres d'inline et de les définir de manière appropriée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X