Hello Tidy Bot, Kudu Jenkins, Adar Dembo, Bankim Bhavsar,
I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/15539
to look at the new patch set (#2).
Change subject: bitmap: faster implementation of iteration over a bitmap
......................................................................
bitmap: faster implementation of iteration over a bitmap
This new implementation iterates 64 bits at a time instead of 8,
and uses a templated callback function instead of using an "iterator"
approach. In an upcoming patch, I found this method to be measurably
faster than the previous TrueBitIterator code.
I compared the included benchmark using the old TrueBitIterator vs the
new implementation:
Old:
Performance counter stats for 'build/latest/bin/bitmap-test
--gtest_filter=*Bench* --gtest_repeat=10':
1,263.17 msec task-clock # 0.998 CPUs utilized
254 context-switches # 0.201 K/sec
0 cpu-migrations # 0.000 K/sec
1,808 page-faults # 0.001 M/sec
3,561,984,981 cycles # 2.820 GHz
5,878,012,694 instructions # 1.65 insn per cycle
1,301,336,934 branches # 1030.218 M/sec
22,275,166 branch-misses # 1.71% of all branches
1.265635106 seconds time elapsed
1.255785000 seconds user
0.007992000 seconds sys
new:
Performance counter stats for 'build/latest/bin/bitmap-test
--gtest_filter=*Bench* --gtest_repeat=10':
595.63 msec task-clock # 0.996 CPUs utilized
254 context-switches # 0.426 K/sec
0 cpu-migrations # 0.000 K/sec
1,808 page-faults # 0.003 M/sec
1,662,752,028 cycles # 2.792 GHz
3,666,713,168 instructions # 2.21 insn per cycle
328,412,721 branches # 551.374 M/sec
2,267,098 branch-misses # 0.69% of all branches
0.598305718 seconds time elapsed
0.588236000 seconds user
0.007962000 seconds sys
Change-Id: Ibe772a7dd92faf9f99115148ad4cc7df542d1c76
---
M src/kudu/util/bitmap-test.cc
M src/kudu/util/bitmap.h
2 files changed, 136 insertions(+), 76 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/39/15539/2
--
To view, visit http://gerrit.cloudera.org:8080/15539
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ibe772a7dd92faf9f99115148ad4cc7df542d1c76
Gerrit-Change-Number: 15539
Gerrit-PatchSet: 2
Gerrit-Owner: Todd Lipcon <[email protected]>
Gerrit-Reviewer: Adar Dembo <[email protected]>
Gerrit-Reviewer: Bankim Bhavsar <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)