[PATCH] D57819: [clangd] Reduce number of threads used by BackgroundIndex to number of physical cores.
Kadir Cetinkaya via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Feb 6 07:12:45 PST 2019
kadircet created this revision.
kadircet added a reviewer: ilya-biryukov.
Herald added subscribers: cfe-commits, arphaman, jkorous, MaskRay, ioeric.
Herald added a project: clang.
clangd is using as many threads as logical cores for BackgroundIndex
by default. Due to hyper-threading this causes cache/branch-prediction misses
for AST and Preamble builts which slows them down.
This patch aims to change that default to number of physical cores to get rid of
that slow-down.
Repository:
rCTE Clang Tools Extra
https://reviews.llvm.org/D57819
Files:
clangd/index/Background.h
Index: clangd/index/Background.h
===================================================================
--- clangd/index/Background.h
+++ clangd/index/Background.h
@@ -67,11 +67,12 @@
/// If BuildIndexPeriodMs is greater than 0, the symbol index will only be
/// rebuilt periodically (one per \p BuildIndexPeriodMs); otherwise, index is
/// rebuilt for each indexed file.
- BackgroundIndex(Context BackgroundContext, const FileSystemProvider &,
- const GlobalCompilationDatabase &CDB,
- BackgroundIndexStorage::Factory IndexStorageFactory,
- size_t BuildIndexPeriodMs = 0,
- size_t ThreadPoolSize = llvm::hardware_concurrency());
+ BackgroundIndex(
+ Context BackgroundContext, const FileSystemProvider &,
+ const GlobalCompilationDatabase &CDB,
+ BackgroundIndexStorage::Factory IndexStorageFactory,
+ size_t BuildIndexPeriodMs = 0,
+ size_t ThreadPoolSize = llvm::heavyweight_hardware_concurrency());
~BackgroundIndex(); // Blocks while the current task finishes.
// Enqueue translation units for indexing.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D57819.185549.patch
Type: text/x-patch
Size: 1118 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20190206/123ac4f3/attachment.bin>
More information about the cfe-commits
mailing list