[PATCH] D51310: [clangd] Implement iterator cost

Kirill Bobyrev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Aug 27 08:34:19 PDT 2018


kbobyrev created this revision.
kbobyrev added reviewers: ioeric, ilya-biryukov, sammccall.
kbobyrev added a project: clang-tools-extra.
Herald added subscribers: kadircet, arphaman, mgrang, jkorous, MaskRay.

This patch introduces iterator cost concept to improve the performance of Dex query iterators (mainly, AND iterator). Benchmarks show that the queries become ~10% faster.

Before

  -------------------------------------------------------
  Benchmark                Time           CPU Iteration
  -------------------------------------------------------
  DexAdHocQueries    5883074 ns    5883018 ns        117
  DexRealQ         959904457 ns  959898507 ns          1

After

  -------------------------------------------------------
  Benchmark                Time           CPU Iteration
  -------------------------------------------------------
  DexAdHocQueries    5238403 ns    5238361 ns        130
  DexRealQ         873275207 ns  873269453 ns          1


https://reviews.llvm.org/D51310

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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D51310.162686.patch
Type: text/x-patch
Size: 3510 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180827/a8c428c2/attachment.bin>


More information about the cfe-commits mailing list