I noticed this while testing a fix for the crashreporter error:
firefox-87.0 with gcc-9.3.0 is 40 minutes
firefox-87.0 with gcc-10.2.0 is 51 minutes
The situation seems to be really bad for gcc-11 snapshots
I'll link a corresponding gcc upstream bug
Created attachment 696249 [details]
output from emerge --info (gcc-9)
Created attachment 696252 [details]
output from emerge --info (gcc-10)
please assign this to toolchain, the hotfix for firefox is in another bug. Thank you!
*** This bug has been marked as a duplicate of bug 778032 ***
If different default c++ standards are used that's sometimes expected on template heavy code if it has more 'enable_if' in libstdc++.
You'll need to find out where time increase comes from: maybe these a few individual files, or maybe it's a time increase for most compilation units.
For a single-threaded build -ftime-report added to CFLAGS and CXXFLAGS might be good enough to extract timing information.
For a multithreaded build you might need to pass a wrapper that measures time as CC/CXX wrapper to extract useful data.
Thanks for your input to the problem, this bug was intended to be a proxy bug so to speak for the gcc upstream bug I linked in the see also section. The problem is a lot worse for gcc-11 than gcc-10, if you read the upstream bug and don't think this is relevant for gcc-11 porting that's fine by me, but I'm unable to make that judgement.
Ah, I keep missing the 'see also' section.
Does adding -Dalways_inline= to CFLAGS/CXXFLAGS restore original build time for you?
Note that our firefox patch set contains upstream code change to mitigate the performance issue.