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.
Seems like the patch has been merged upstream long time ago.