hokein added a comment.

Looks great! I played around this patch a bit on LLVM. The output size is 50MB 
(binary)/1.2G (YAML).

The ref output is not complete (missing all refs in headers, since we only 
collect refs from main file), I think we will add an option to 
`SymbolCollector` to allow collecting refs in header (but this option is only 
used for building static index)?



================
Comment at: clangd/index/Serialization.cpp:301
+// A refs section has data grouped by Symbol. Each symbol has:
+//  - SymbolID: 20 bytes
+//  - NumRefs: varint
----------------
Looks like we can improve the size further, we are storing SymbolID twice (one 
in `symb` section), I think we could   optimize it by introducing a `symi` 
section or using `stri` section?


================
Comment at: clangd/index/Serialization.cpp:333
 //   - stri: string table
 //   - symb: symbols
 
----------------
We are adding a new section in the RIFF, the comment needs update.


================
Comment at: clangd/indexer/IndexerMain.cpp:81
+  virtual void consumeRefs(RefSlab Refs) = 0;
   /// Produce a resulting symbol slab, by combining  occurrences of the same
   /// symbols across translation units.
----------------
nit: this comment needs update.


Repository:
  rCTE Clang Tools Extra

https://reviews.llvm.org/D52531



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to