[PATCH] D47063: [clangd] Keep only a limited number of idle ASTs in memory
Ilya Biryukov via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri May 18 07:03:13 PDT 2018
ilya-biryukov added a comment.
Another alternative that I've considered was evicting the ASTs from memory after a certain period of time, e.g. after 30 seconds of inactivity for some file. This might be simpler and also cover the use-case of speeding up multiple code navigation requests (findDefinition/documentHighlight) in a row.
Yet another thing that came to mind: walking over **all** of the AST to find reference under the cursor is terribly inefficient, we should be able to build a cheap data structure that speeds up this operation. Maybe we can even store enough information to not need the AST for navigation at all and build it only for features like refactorings.
@sammccall, let me know what are your thoughts on all of this.
Repository:
rCTE Clang Tools Extra
https://reviews.llvm.org/D47063
More information about the cfe-commits
mailing list