Hello, i've just experienced a 40%+ run-time performance drop that, in fine, was due to g++ refusing to auto-inline trivial ctors and the like in a cramped unit (featuring no and forced inlines). That's not the first time i meet that snafu, but what kinda surprises me is the fact that i've recently removed more code than added (granted, that doesn't mean much) and that unit was already being compiled with: --param inline-unit-growth=10000 --param max-inline-insns-recursive=10000.
I had to bump both by an order of magnitude to get things flying again. Even if it works, i'm a bit worried that in some not too distant future i may run out of digits. That was with gcc version 4.2.0 20060204 and i was wondering if semi-recently, g++ behaviour regarding auto inlining had been tweaked or something. In any case, if there's a better stopgap that doesn't imply explicitely force inlining everything in sight, i'd like to know. Or if there's something in the work. Regards, tbp.