aengelke wrote: Thanks for checking GCC, I rarely use it for building LLVM. Reducing the number of headers seems to be important for GCC, there's certainly some room for improvements. Some observations from quick testing and profiling of GCC:
- PCH are much larger than with Clang. Even after reducing the size of Support/pch.h, the Support PCH is still 132M (Clang: 24M). - As a consequence, max-rss also increases strongly (e.g., from 397M to 751M). - cc1plus system time increases strongly; on a random file, perf indicates >20% time spent in handling page faults (2x more than before), probably due to the large PCH. - Parsing time goes down substantially, but, according to perf on cc1plus, most of the improvement is negated by instantiate_pending_templates -> instantiate_decl, which consumes much more time in the PCH build (on a random file, this increases from 5% to 25% with almost identical total compile time). - -ftime-report is not useful for profiling, it strongly affects execution times. I don't know how to get more accurate information on what exactly causes GCC to slow down that much. The warnings seem to only come from executables, most files in libraries are not afffected. https://github.com/llvm/llvm-project/pull/173868 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
