atarob nginx-forum at
Fri Feb 14 23:24:20 UTC 2014

> On Friday, February 14, 2014 04:59:26 PM atarob wrote:
> > Looking through the codebase, I see a lot of very short helper like
> > functions that are defined in .c files with prototypes in .h files.
> This
> > means that the compiler cannot inline them outside of that .c file.
> > Am I
> > wrong?  How is that not a performance hit?

> I suppose they will be inlined at -O2 level:

Think about it. -O2 is a compiler flag. Optimization happens at compile
time. NOT at link time. If the function is defined in another .c file, how
can the compiler, which compiles on .c file at a time, possibly have access
to the definition, let alone inline it. That's why we put inline function
that are supposed to be called by other .c files in a .h file. Am I wrong?


Posted at Nginx Forum:,247575,247582#msg-247582

More information about the nginx mailing list