llvm-project/clang-tools-extra/clangd/index
Kirill Bobyrev b217ddb1bb [clangd] Use TRUE iterator instead of complete posting list
Stop using `$$$` (empty) trigram and generating a posting list with all
items. Since TRUE iterator is already implemented and correctly inserted
when there are no real trigram posting lists, this is a valid
transformation.

Benchmarks show that this simple change allows ~30% speedup on dataset
of real completion queries.

Before

```
-------------------------------------------------------
Benchmark                Time           CPU Iterations
-------------------------------------------------------
DexAdHocQueries    5640321 ns    5640265 ns        120
DexRealQ         939835603 ns  939830296 ns          1
```

After

```
-------------------------------------------------------
Benchmark                Time           CPU Iterations
-------------------------------------------------------
DexAdHocQueries    3452014 ns    3451987 ns        203
DexRealQ         667455912 ns  667455750 ns          1
```

Reviewed by: ilya-biryukov

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

llvm-svn: 340729
2018-08-27 09:47:50 +00:00
..
dex [clangd] Use TRUE iterator instead of complete posting list 2018-08-27 09:47:50 +00:00
CanonicalIncludes.cpp [clangd] Get rid of regexes in CanonicalIncludes 2018-08-22 13:51:19 +00:00
CanonicalIncludes.h [clangd] Get rid of regexes in CanonicalIncludes 2018-08-22 13:51:19 +00:00
FileIndex.cpp [clangd] Log memory usage of DexIndex and MemIndex 2018-08-24 09:12:54 +00:00
FileIndex.h [clangd] Log memory usage of DexIndex and MemIndex 2018-08-24 09:12:54 +00:00
Index.cpp [clangd] Simplify the code using UniqueStringSaver, NFC. 2018-08-20 09:47:12 +00:00
Index.h [clangd] Speculative code completion index request before Sema is run. 2018-08-24 11:23:56 +00:00
MemIndex.cpp [clangd] Log memory usage of DexIndex and MemIndex 2018-08-24 09:12:54 +00:00
MemIndex.h [clangd] Log memory usage of DexIndex and MemIndex 2018-08-24 09:12:54 +00:00
Merge.cpp [clangd] Log memory usage of DexIndex and MemIndex 2018-08-24 09:12:54 +00:00
Merge.h NFC: Enforce good formatting across multiple clang-tools-extra files 2018-08-14 16:03:32 +00:00
SymbolCollector.cpp [clangd] Share getSymbolID implementation. 2018-08-07 08:57:52 +00:00
SymbolCollector.h [clangd] Support indexing MACROs. 2018-07-09 15:31:07 +00:00
SymbolYAML.cpp [clangd] Fix (most) naming warnings from clang-tidy. NFC 2018-07-26 12:05:31 +00:00
SymbolYAML.h NFC: Enforce good formatting across multiple clang-tools-extra files 2018-08-14 16:03:32 +00:00