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