[clangd] Shard preamble symbols in dynamic index
authorKadir Cetinkaya <kadircet@google.com>
Wed, 8 Apr 2020 14:14:53 +0000 (16:14 +0200)
committerKadir Cetinkaya <kadircet@google.com>
Wed, 15 Apr 2020 07:10:10 +0000 (09:10 +0200)
commitdffa9dfbda56820c02e357ad34c24ce8759b4d26
treeeb2d79e83969f3e191f0ff2ad5609f3a3b6b4c94
parent9bd6b77ac66fddadc50ca99ca327f1b7f9b0d6e4
[clangd] Shard preamble symbols in dynamic index

Summary:
This reduces memory usage by dynamic index from more than 400MB to 32MB
when all files in clang-tools-extra/clangd/*.cpp are active in clangd.

Reviewers: sammccall

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D77732
clang-tools-extra/clangd/index/Background.cpp
clang-tools-extra/clangd/index/FileIndex.cpp
clang-tools-extra/clangd/index/FileIndex.h
clang-tools-extra/clangd/index/SymbolCollector.cpp
clang-tools-extra/clangd/unittests/FileIndexTests.cpp
clang-tools-extra/clangd/unittests/TestTU.cpp