On Wed, Jun 11, 2014 at 10:38 AM, Cary Coutant <ccout...@google.com> wrote: >> This will increase c++ g1/g2 binary size a little. For all spec >> cint2006 benchmarks, the binary size change is shown below. >> >> 400 0.00% 0.00% 0.00% 0.00% >> 401 0.00% 0.00% 0.00% 0.00% >> 403 0.00% 0.00% 0.00% 0.00% >> 429 0.00% 0.00% 0.00% 0.00% >> 445 0.00% 0.00% 0.00% 0.00% >> 456 0.00% 0.00% 0.00% 0.00% >> 458 0.00% 0.00% 0.00% 0.00% >> 462 0.00% 0.00% 0.00% 0.00% >> 464 0.00% 0.00% 0.00% 0.00% >> 471 1.28% 0.20% 1.23% 0.15% >> 473 0.36% 0.00% 0.35% 0.01% >> 483 12.79% 1.73% 13.65% 2.12% >> geomean 1.14% 0.16% 1.20% 0.19% >> >> The 4 columns are: >> >> o0 -g1 >> o0 -g2 >> o2 -g1 >> o2 -g2 > > We expect this to affect C++ code, so only the last three of those > benchmarks are really meaningful -- if you omit the C benchmarks, the > geomean will be a bit higher. Why, I wonder, is 483 affected so much > more than 471 and 473?
483 is heavily templated code with very deep inline stacks. And the function name for 483 is also much longer than 471 and 473. Dehao > > At any rate, -g2 doesn't seem to be affected too much. I wish the -g1 > numbers for 483 weren't quite so high, but I understand the importance > for FDO, and there isn't a lot of current usage of -g1, so it's OK > with me for trunk. I hope we can fine-tune this a bit in the future, > though. > > -cary