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