-
Suggestion
-
Resolution: Unresolved
-
Not Evaluated
-
None
-
Qt Creator 18.0.0
-
None
All three major C++ compiler suites provide the means to profile the compiler and see where time is spent compiling.
For Clang, there is the ftime-trace option. ClangBuildAnalyzer can then aggregate and analyze the data for a whole project.
For GCC there is the ftime-report. No existing functionality I know of exists to aggregate and analyze this output.
For MSVC there is vcperf which can collect trace data and outputs an ETL file.
Ninja outputs .ninja_log which can already be turned into a chrome tracing format using ninjatracing.
It would be incredibly useful to have proper IDE integration into these tools. Even if it were only ClangBuildAnalyzer for simplicity's sake. An integrated view of which build steps take the longest (ninjatracing) which can then zoom in on each individual compile step and see what takes long, allowing quick navigation to the code in question. One could imagine even overlaying the timings onto #include statements, notifying developers in their text editor that certain includes are slowing down their build when they're looking at the code.
Setting any of these up takes some time, and just having a button in the IDE to start a "build profile" build would be amazing as an end-user experience.