[all-commits] [llvm/llvm-project] 4000c9: Reland "[Modules] Add stats to measure performance...

Volodymyr Sapsai via All-commits all-commits at lists.llvm.org
Mon Oct 19 15:44:37 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 4000c9ee18ecebe3ff0f197af8c1fb434ad986e5
      https://github.com/llvm/llvm-project/commit/4000c9ee18ecebe3ff0f197af8c1fb434ad986e5
  Author: Volodymyr Sapsai <vsapsai at apple.com>
  Date:   2020-10-19 (Mon, 19 Oct 2020)

  Changed paths:
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M llvm/lib/Support/Path.cpp
    M llvm/lib/Support/Unix/Path.inc
    M llvm/lib/Support/Windows/Path.inc

  Log Message:
  -----------
  Reland "[Modules] Add stats to measure performance of building and loading modules."

Measure amount of high-level or fixed-cost operations performed during
building/loading modules and during header search. High-level operations
like building a module or processing a .pcm file are motivated by
previous issues where clang was re-building modules or re-reading .pcm
files unnecessarily. Fixed-cost operations like `stat` calls are tracked
because clang cannot change how long each operation takes but it can
perform fewer of such operations to improve the compile time.

Also tracking such stats over time can help us detect compile-time
regressions. Added stats are more stable than the actual measured
compilation time, so expect the detected regressions to be less noisy.

On relanding drop stats in MemoryBuffer.cpp as their value is pretty low
but affects a lot of clients and many of those aren't interested in
modules and header search.

rdar://problem/55715134

Reviewed By: aprantl, bruno

Differential Revision: https://reviews.llvm.org/D86895




More information about the All-commits mailing list