https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94781
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|WAITING |NEW --- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- The time-report you attached is mostly flat and I don't see anything eye-popping pointing at a regression. With -O0 my GCC9 is faster (well, noise). Confirmed for -O2: > /usr/bin/time /space/rguenther/install/gcc-7.5/bin/g++ -S > UnifiedBindings23-v7.cpp -std=gnu++1z -w -O2 112.50user 1.83system 2:01.65elapsed 93%CPU (0avgtext+0avgdata 2732664maxresident)k 1952inputs+36528outputs (6major+678054minor)pagefaults 0swaps > /usr/bin/time /space/rguenther/install/gcc-8.4/bin/g++ -S > UnifiedBindings23-v7.cpp -std=gnu++1z -w -O2 83.44user 1.27system 1:26.34elapsed 98%CPU (0avgtext+0avgdata 2789396maxresident)k 48640inputs+41088outputs (62major+687702minor)pagefaults 0swaps > /usr/bin/time /space/rguenther/install/gcc-9.3/bin/g++ -S > UnifiedBindings23-v7.cpp -std=gnu++1z -w -O2 128.28user 1.90system 2:19.51elapsed 93%CPU (0avgtext+0avgdata 2695708maxresident)k Note how my GCC 8 build is significantly faster than GCC 7! note that this kind of regression can easily happen because we generate more code because of some different optimization decisions. For example the GCC 8 generated object is > size UnifiedBindings23-v7.o text data bss dec hex filename 2502864 10136 37392 2550392 26ea78 UnifiedBindings23-v7.o while GCC 9 generates > size UnifiedBindings23-v7.o text data bss dec hex filename 2788944 16488 37392 2842824 2b60c8 UnifiedBindings23-v7.o I realize I didn't use the full set of options you did (in particular I omitted -g). My tests also seem noisy (machine isn't idle, 2nd run of the GCC 9 compile dialed in at 100s)