aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Tooling/JSONCompilationDatabase.cpp
diff options
context:
space:
mode:
authorRiver Riddle <riddleriver@gmail.com>2020-10-26 19:31:04 -0700
committerRiver Riddle <riddleriver@gmail.com>2020-10-26 19:40:19 -0700
commit67f52f35d62b25f929646e972287c7b5397a044e (patch)
treedfc739ef487472a74a7409d5e081e5e82af7d174 /clang/lib/Tooling/JSONCompilationDatabase.cpp
parente20d64c3d9d81cad701f31d8481367222c76c787 (diff)
downloadllvm-67f52f35d62b25f929646e972287c7b5397a044e.zip
llvm-67f52f35d62b25f929646e972287c7b5397a044e.tar.gz
llvm-67f52f35d62b25f929646e972287c7b5397a044e.tar.bz2
[mlir][StorageUniquer] Refactor parametric storage to use sharded dense sets
This revisions implements sharding in the storage of parametric instances to decrease lock contention by sharding out the allocator/mutex/etc. to use for a specific storage instance based on the hash key. This is a somewhat common approach to reducing lock contention on data structures, and is used by the concurrent hashmaps provided by folly/java/etc. For several compilations tested, this removed all/most lock contention from profiles and reduced compile time by several seconds. Differential Revision: https://reviews.llvm.org/D89659
Diffstat (limited to 'clang/lib/Tooling/JSONCompilationDatabase.cpp')
0 files changed, 0 insertions, 0 deletions