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

Roman Lebedev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed May 9 08:00:37 PDT 2018


lebedev.ri added a comment.

In https://reviews.llvm.org/D46602#1092902, @lebedev.ri wrote:

> In https://reviews.llvm.org/D46602#1092890, @alexfh wrote:
>
> > Roman, it looks to me that a simpler storage scheme would be sufficient. For example, YYYYMMDDhhmmss-InputFileName.cpp.csv.
> >  Main things are:
> >
> > 1. include a timestamp, so there's no need to overwrite old results,
>
>
> Of the input source file?
>
> I don't like this, because when working on trying to improve the performance of the check,
>  one wouldn't touch the source file, only the clang-tidy sources. So either you would 
>  have to `touch` sources (and if they are not writable?), or remove `.csv` beforehand,
>  or not output to file, but redirect output.


... also, a new report with a new name will be created each time the filetime changes, so not
only will it be fun from tooling point of view, but it will also leave old reports in-place..

> Neither of these possibilities sound great to me.
> 
>> 2. include just the name of the file without any parent directories,
> 
> That won't work, there are duplicate filenames even in LLVM.
> 
>   $ find -iname Path.cpp
>   ./lib/Support/Path.cpp
>   ./unittests/Support/Path.cpp
> 
> 
> 
> 
>> 3. put all outputs into the same directory. This way we wouldn't have to create a directory structure and think about stripping a certain prefix (btw, utilities like patch just specify the number of path components to remove from the start, not the actual substring). WDYT?
> 
> I'm not particularly looking forward to having being forced to have n thousands of reports in a single directory :)




Repository:
  rL LLVM

https://reviews.llvm.org/D46602





More information about the cfe-commits mailing list