Some analyzers (i.e. file inclusion times, template instantiation times) output the aggregated total time for all entries with the same key.
This value is misleading as it doesn't take parallel executions into account.
Imagine we're looking at file inclusion times and we have a header that's included in all files. The total inclusion time for that file would only be correct if we compiled in a single-threaded fashion.
It'd probably be better if we listed the minimum/maximum times, the average time, maybe the standard deviation? That's, of course, alongside the number of occurrences.
This way, instead of total time drawing our attention in files that get included a lot but take little time to include, we could check for files that take a lot of average time?
Some analyzers (i.e. file inclusion times, template instantiation times) output the aggregated total time for all entries with the same key.
This value is misleading as it doesn't take parallel executions into account. Imagine we're looking at file inclusion times and we have a header that's included in all files. The total inclusion time for that file would only be correct if we compiled in a single-threaded fashion.
It'd probably be better if we listed the minimum/maximum times, the average time, maybe the standard deviation? That's, of course, alongside the number of occurrences. This way, instead of total time drawing our attention in files that get included a lot but take little time to include, we could check for files that take a lot of average time?