[clangd] Group filename calculations in SymbolCollector, and cache mroe.
Also give CanonicalIncludes a less powerful interface (canonicalizes symbols vs headers separately) so we can cache its results better. Prior to this: - path->uri conversions were not consistently cached, this is particularly cheap when we start from a FileEntry* (which we often can) - only a small fraction of header-to-include calculation was cached This is a significant speedup at least for dynamic indexing of preambles. On my machine, opening XRefs.cpp: ``` PreambleCallback 1.208 -> 1.019 (-15.7%) BuildPreamble 5.538 -> 5.214 (-5.8%) ``` Differential Revision: https://reviews.llvm.org/D98371
Loading
Please register or sign in to comment