aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CreateInvocationFromCommandLine.cpp
diff options
context:
space:
mode:
authorKirill Bobyrev <kbobyrev@google.com>2021-07-23 15:28:31 +0200
committerKirill Bobyrev <kbobyrev@google.com>2021-07-23 15:28:35 +0200
commita0987e350ccce4fb9c3cbaf56732be1def5f810f (patch)
tree1d0a143fea093e2df14114bea90069fff0828a3e /clang/lib/Frontend/CreateInvocationFromCommandLine.cpp
parent1528a4d40022925dcc3e8cb6b8af7dd109ad7075 (diff)
downloadllvm-a0987e350ccce4fb9c3cbaf56732be1def5f810f.zip
llvm-a0987e350ccce4fb9c3cbaf56732be1def5f810f.tar.gz
llvm-a0987e350ccce4fb9c3cbaf56732be1def5f810f.tar.bz2
[clangd] Improve performance of dex by 45-60%
Take full advantage of AND's iterator children size estimation: use early reset in sync() and prevent large overhead. The idea is that the children at the beginning of the list are smaller and cheaper to advance. Very large children negate the effect of this performance optimisation and hence should be advanced only when absolutely necessary. By reducing the number of large iterators' updates, we increase the performance by a large margin. This change was tested on a comprehensive query dataset. The performance boost increases with the average length of the query, on small queries it is close to 45% but the longer they go the closer it gets to 60% and beyond. Reviewed By: sammccall Differential Revision: https://reviews.llvm.org/D106528
Diffstat (limited to 'clang/lib/Frontend/CreateInvocationFromCommandLine.cpp')
0 files changed, 0 insertions, 0 deletions