https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102943

--- Comment #33 from hubicka at kam dot mff.cuni.cz ---
With the inliner tweaks (which I hope to get bit more aggressive this
week) we "solved" the wrf compile time with LTO by simply not building
the gigantic functions.  However we still have significant regressions
without LTO. 

Accroding to
https://lnt.opensuse.org/db_default/v4/SPEC/spec_report/branch
With spec2006 on kabylake with _O2 we have:
Test Name       gcc-6           gcc-7   gcc-8   gcc-9   gcc-10  gcc-11
gcc-trunk
SPECFP          256.464         3.59%   15.50%  19.29%  29.53%  33.44%  43.50%
SPECint         119.368         3.17%   13.60%  17.23%  14.17%  26.58%  33.58%
and spec2007
SPECFP          638.337         5.39%   21.20%  25.40%  50.18% 45.00%   58.72%
SPECint         217.977         4.03%   11.47%  16.17% 13.29%   22.52%  27.28%

Growing SPECFP -O2 build time by over 10% in one release is quite a lot
though it happened previously with gcc7->gcc8 and gcc9->gcc10 (if I remember
correctly gcc10 was caused by Fortran revisiting libgfortran API and
increasing binaries significantly).

The bigger increase in SPECfp compared to SPECint seems to be attributed
to wrf which regresses 122% compared to gcc6. The build time graph is
here
https://lnt.opensuse.org/db_default/v4/SPEC/graph?plot.0=116.548.8&plot.1=161.548.8&plot.2=68.548.8&plot.3=206.548.8&plot.4=373.548.8&plot.5=430.548.8&plot.6=30.548.8&;

So I think this is still about the most important compile time issue we
have.  I plan to look at the profile updating issues in threader and
hopefully get bit more faimilar with the code to possibly help here.

Reply via email to