[Bug c++/60976] Compilation with G++ 4.9.0 is 2-3 times slower than with 4.8.2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60976 Rene Koecher changed: What|Removed |Added CC||rene.koecher@wincor-nixdorf ||.com --- Comment #11 from Rene Koecher --- Hi, I want to chime in on this - is there anything new regarding the issue? The current state marks it as UNCONFIRMED however there is some definite performance loss even in the current 4.9.1 and 4.9.2 gcc releases. My employer switched to gcc 4.9.1 recently and our codebase (mostly C++, heave users of stl / boost) has almost doubled it's compile time. We're up to 60min for a clean compile - and that is with ccache enabled. Plain, no-ccache compiles are even worse. Compiling with -ftime-report shows that g++ is spending significant ammounts of time in the 'parsing' stage (mostly between 1.8 and 2.8sec/per file). Currently we're using 4.9.1 on CentOS 5 (custom build) but I also confirmed the same increase in compile time on a Gentoo and Debian system.
[Bug c++/60976] Compilation with G++ 4.9.0 is 2-3 times slower than with 4.8.2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60976 --- Comment #16 from Rene Koecher --- Thank you Jonathan, that explains some things. I get it there is also no easy way to disable certain standards features at compile time?
[Bug c++/60976] Compilation with G++ 4.9.0 is 2-3 times slower than with 4.8.2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60976 --- Comment #14 from Rene Koecher --- (In reply to Markus Trippelsdorf from comment #12) > As Jonathan wrote, the standard library must conform to the C++ standard. > > You simply cannot expect fast compile times out of the box when you make > heavy use of stl/boost. > (Although careful analysis might bring it down considerably. (e.g., bundling > most template instantiations into a single compilation unit)) > > For the attached testcase clang's libc++ is even 30% slower than gcc-4.9 > libstdc++. I agree on your point here, however shouldn't an unchanged codebase (and we're not using C++11 features or -std=c++11 yet) at least keep the same performance? It's understandable that standards compliance can counter performance but I honestly wouldn't expect the compiler performance of older code / code not using the new features to drop that drastically..
[Bug c++/60976] Compilation with G++ 4.9.0 is 2-3 times slower than with 4.8.2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60976 --- Comment #28 from Rene Koecher --- (In reply to Giuseppe Ottaviano from comment #26) Giuseppe, is there an easy way you could provide me with your changes to alloc_traits.h? I'd really like to give it a shot against our codebase and see if there's any speedup. I tried to follow along by taking the alloc_traits.h from 225242 adding the suggested diff to compensate for the missing bits in type_traits. While this results in a working drop-in replacement I can not detect any noticable changes in compile time.