Hello Michael Ho, Tidy Bot, Kudu Jenkins, Adar Dembo, I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/9048 to look at the new patch set (#2). Change subject: rpc: micro-optimize delayed task handling ...................................................................... rpc: micro-optimize delayed task handling Previously we put all pending DelayedTasks in an STL set<>. However, we don't really need a set -- using an intrusive doubly linked list is sufficient and provides O(1) removal instead of O(lg n). This speeds up the new unit test significantly. I measured the new test using the following command line before and after three times: periodic-test --gtest_filter=\*Perf\* --gtest_repeat=10 2>&1 | grep User | tee -a /tmp/after and then ran a t-test on the difference in CPU time: data: d.before and d.after t = 19.097, df = 48.327, p-value < 2.2e-16 alternative hypothesis: true difference in means is not equal to 0 95 percent confidence interval: 0.09643424 0.11912596 sample estimates: mean of x mean of y 0.4324359 0.3246558 So this saves a noticeable amount of CPU when there are a lot of pending tasks. Change-Id: I3b6be5ef7e8f464f3bc4c62f904e2692b30ddc65 --- M src/kudu/rpc/periodic-test.cc M src/kudu/rpc/reactor.cc M src/kudu/rpc/reactor.h 3 files changed, 44 insertions(+), 8 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/48/9048/2 -- To view, visit http://gerrit.cloudera.org:8080/9048 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I3b6be5ef7e8f464f3bc4c62f904e2692b30ddc65 Gerrit-Change-Number: 9048 Gerrit-PatchSet: 2 Gerrit-Owner: Todd Lipcon <t...@apache.org> Gerrit-Reviewer: Adar Dembo <a...@cloudera.com> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Michael Ho <k...@cloudera.com> Gerrit-Reviewer: Tidy Bot