ckandeler wrote: > Sorry, yes, `prepare()` is unaffected, but performance degradation is still > here and sits in `apply()`. Uncached AST matchers in a nested loop is a > noticeable performance hazard. For now I see that we get extra `O(S*V*AST)` > complexity: for each of the `V` captured variables and `S` root statements, a > new `ExprMutationAnalyzer` is instantiated inside the inner loop (this also > destroys `ExprMutationAnalyzer`s memoization cache on every iteration).
The instantiation is now outside the loop. > Without `clang-tidy` linkage into `clangd` (we have a build option for this), > `clangd` has no dependency on `clangAnalysis`. So, I except the binary size > increase (in case when we don't link `clang-tidy` into `clangd`). So, we need > some numbers to be sure that the size change is insignificant. I'll come back with some numbers shortly. https://github.com/llvm/llvm-project/pull/225666 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
