[PATCH] D52083: [clangd] Store OR iterator children in heap

Kirill Bobyrev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Sep 14 05:17:14 PDT 2018


kbobyrev updated this revision to Diff 165471.
kbobyrev marked 3 inline comments as done.
kbobyrev edited the summary of this revision.
kbobyrev added a comment.

Fixed the bug with incorrect assumption of `Children` being sorted (instead of being a heap). This caused a huge overhead (~30%). When I iterate through all children in `consume()` (like before) it's also worse (~18%).

Seems like this optimization is not worth (yet?). As soon as we get more proximity paths (and hence more OR iterator children) that might make sense.


https://reviews.llvm.org/D52083

Files:
  clang-tools-extra/clangd/index/dex/Iterator.cpp
  clang-tools-extra/unittests/clangd/DexTests.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D52083.165471.patch
Type: text/x-patch
Size: 6191 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180914/e2e74927/attachment.bin>


More information about the cfe-commits mailing list