sammccall added inline comments.

================
Comment at: clang-tools-extra/clangd/index/Background.cpp:419
+  IndexedSymbols.attachMemoryUsage(*MT.addChild("symbols"));
+  MT.addChild("index")->addUsage(estimateMemoryUsage());
+}
----------------
Hmm, we should be careful now, estimateMemoryUsage() is "total" while addUsage 
takes "self".

We're not overriding estimateMemoryUsage here to include IndexedSymbols, but 
this is probably just an oversight. Consider calling 
SwapIndex::estimateMemoryUsage() explicitly to guard/communicate against this.

In the long-run, we should put attachMemoryUsage on SymbolIndex and either 
remove estimateMemoryUsage() or make it non-virtual (`MemoryTree R; 
attachMemoryUsage(R); return R.total()`)


================
Comment at: clang-tools-extra/clangd/index/Background.h:177
 
+  void attachMemoryUsage(MemoryTree &MT) const;
+
----------------
As a conventional name for these, profile() or so might be slightly more 
evocative. And I think we should push this into progressively more places (that 
currently have ad-hoc "estimate" accessors) so the brevity is reasonable I 
think.

(If not, I'd even slightly prefer "record"/"measure" over "attach" as 
emphasizing the high-level operation rather than the data structure used can 
help readability)


================
Comment at: clang-tools-extra/clangd/index/FileIndex.cpp:380
+  for (const auto &SymSlab : SymbolsSnapshot)
+    MT.addDetail(SymSlab.first())->addUsage(SymSlab.second->bytes());
+  for (const auto &RefSlab : RefsSnapshot)
----------------
addChild("symbols"/"refs"/"relations")?
This seems like really useful information


================
Comment at: clang-tools-extra/clangd/index/FileIndex.cpp:457
+void FileIndex::attachMemoryUsage(MemoryTree &MT) const {
+  PreambleSymbols.attachMemoryUsage(*MT.addChild("preamble_symbols"));
+  MT.addChild("preamble_index")->addUsage(PreambleIndex.estimateMemoryUsage());
----------------
addChild("preamble").addChild("symbols")?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D88414/new/

https://reviews.llvm.org/D88414

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

Reply via email to