[PATCH] D46602: [clang-tidy] Store checks profiling info as YAML files

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 9 07:35:04 PDT 2018


lebedev.ri added a comment.

In https://reviews.llvm.org/D46602#1092883, @alexfh wrote:

> In https://reviews.llvm.org/D46602#1092111, @rja wrote:
>
> > +1 for JSON
>
>
> Could you explain why would you use YAML or JSON for this? How are you going to use/process this data?


I personally don't have a preference here.
The "YAML" may be better because that is what already supported by `TimerGroup`, which allowed to drop the table printer, too.

The next step will be a python script:

1. Takes either a file names (these generated `.yaml`), or a prefix, If it is a prefix, it GLOBS all the `.yaml`'s in there.
2. Load all the files from step 1.
3. Print global report from data collected (`reduce(+)` after grouping by check name) from all the files (what https://reviews.llvm.org/D45931 did)
4. Maybe print report about outliers - without "`reduce(+)` after grouping by check name", with percentages to the total time spent on TU. This is where the filename (and YAML) would be helpful.
5. ???
6. Run on codebases, find performance problems, contribute fixes
7. Profit!


Repository:
  rL LLVM

https://reviews.llvm.org/D46602





More information about the llvm-commits mailing list