Todd Lipcon has submitted this change and it was merged.

Change subject: interval_tree: allow bulk queries
......................................................................


interval_tree: allow bulk queries

This adds an API to interval_tree to allow it to be queried in "bulk".
The caller passes a set of query points and a callback, and the tree
calls the callback once per <interval, point> pair.

This has much better CPU cache efficiency than a lot of separate
queries. Additionally, doing 'Q' queries in bulk is logarithmic in Q
rather than linear.

More importantly, this will allow rowset-wise processing of batches of
writes, which opens up big perf wins in later patches in this series.

Change-Id: Ifb4da25ca43413fbcae631a7b0f3f16062e4e408
Reviewed-on: http://gerrit.cloudera.org:8080/6481
Tested-by: Todd Lipcon <[email protected]>
Reviewed-by: David Ribeiro Alves <[email protected]>
---
M src/kudu/util/interval_tree-inl.h
M src/kudu/util/interval_tree-test.cc
M src/kudu/util/interval_tree.h
3 files changed, 347 insertions(+), 28 deletions(-)

Approvals:
  David Ribeiro Alves: Looks good to me, approved
  Todd Lipcon: Verified



-- 
To view, visit http://gerrit.cloudera.org:8080/6481
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Ifb4da25ca43413fbcae631a7b0f3f16062e4e408
Gerrit-PatchSet: 6
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon <[email protected]>
Gerrit-Reviewer: David Ribeiro Alves <[email protected]>
Gerrit-Reviewer: Tidy Bot
Gerrit-Reviewer: Todd Lipcon <[email protected]>

Reply via email to