[PATCH] D63681: [clang-scan-deps] Introduce the DependencyScanning library with the thread worker code and better error handling

Alexandre Ganea via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Jun 26 11:57:10 PDT 2019


aganea added a subscriber: rnk.
aganea added a comment.

A bit more detail on what we're seeing on our end (specs in the post above). The 'Count' column represents the number of 1ms samples taken in that function. The 'Weight' column is cumulated times for all cores, for a given process, in ms.

Image below shows most of the time is spent in `clang-scan-deps.dll` and indirectly, in `ntoskrnl.exe`. The graph at the bottom also shows that preprocessing the ~600 unity .CPP files in the project issues 16 million IOPS. The graphs on the right show no bottlenecks on the disk I/O on the OS I/O-side.

F9417850: clang-scan-deps.jpg <https://reviews.llvm.org/F9417850>

Top functions in `ntoskrnl.exe`, most callstacks end up in `clang-scan-deps.dll`:

F9417863: clang-scan-deps2.jpg <https://reviews.llvm.org/F9417863>

A good chunk of all this is caused by `llvm::sys::status()`, even though is goes through the `FileSystemStatCache`, like I was suggesting previously <https://reviews.llvm.org/D63453#1547188> (ping @rnk)
//(beware, the callstacks are reversed in the image below)//

F9417870: clang-status.JPG <https://reviews.llvm.org/F9417870>

I can take a look at `llvm::sys::status()` after the vacations (somewhere in August)


Repository:
  rC Clang

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D63681/new/

https://reviews.llvm.org/D63681





More information about the cfe-commits mailing list