gcc-4.1 code size

Robert Bowdidge bowdidge@apple.com
Wed Dec 7 21:43:00 GMT 2005


In gcc-3.3, the -finline-limit had little effect.  You could turn  
that knob all you wanted, and code size didn't change much.  In  
gcc-4.0, the inliner's both better, and (I think) the meaning of the  
number with -finline-limit changed.  As a result, the -finline-limit  
has a much bigger effect on binary size.

At Apple, we had to warn teams to re-examine their inline settings  
when we moved the OS to 4.0.    We saw several Mac OS X projects  
whose binaries grew 10-30% when built with gcc-4.0.  With gcc-3.3,  
changing the -finline-limit from 0 to 3000 caused very little change  
in binary size.  With gcc-4.0, we'd see the 10-30% increases.   
Similarly, compile times didn't vary much with gcc-3.3 as -finline- 
limit was tweaked.  When we moved to gcc-4.0, we'd see compiles slow  
down by 50% with higher limits.


Robert



More information about the Gcc mailing list