Viladoman / CompileScore

Tools for profiling and visualizing C++ build times.
MIT License
464 stars 19 forks source link

Includes aren't included in the CompileScore output for Clang -ftime-trace #26

Open missmah opened 2 years ago

missmah commented 2 years ago

There are no includes profiled, and there's no way to profile or visualize includes for my clang builds using -ftime-trace; is this expected? Or is it potentially a bug with the compiler I'm using?

image

missmah commented 2 years ago

image I can deduce here that <filesystem> included <chrono>, which is somewhat useful; but, it would be much more useful to know exactly which hierarchy of includes these were included by (or just directly by the TU itself, if that was the case).

Viladoman commented 2 years ago

Oh wow! What Clang version are you using? Maybe my data extractor for Clang got outdated and they are now marking things up slighlty different.

Regarding the second question, if the include data got found ( you can try that meanwhile on the msvc extractor ), you can ask to see the 'Includers' view which will show who includes each dependency up to the TUs themselves.

Timeline image

The numbers are how many TUs ended up including that particular file.

Super useful to cull dependencies mid line. Maybe your include is expensive by accumulation, so removing a dependency somewhere else that account for half of the counts can be helpful.

EDIT: It also looks like the full time method and threads retrieval on Clang is not working properly.