Todd Lipcon has submitted this change and it was merged. Change subject: bootstrap: use the iterator interface to read the log ......................................................................
bootstrap: use the iterator interface to read the log This uses the new log entry reader interface when replaying the log during tablet bootstrap. Per the previous commit message, this makes more effective use of allocator and CPU caches, so provides a bit of a speed-up. Before: Time spent bootstrapping tablet: real 3.825s user 1.448s sys 1.000s Time spent bootstrapping tablet: real 4.340s user 1.480s sys 0.988s Time spent bootstrapping tablet: real 7.438s user 1.456s sys 1.080s After: Time spent bootstrapping tablet: real 5.563s user 1.092s sys 1.172s Time spent bootstrapping tablet: real 5.931s user 1.172s sys 0.976s Time spent bootstrapping tablet: real 8.050s user 1.188s sys 1.192s (ignore the 'real' time here, which is mostly based on the inconsistent IO performance of my laptop SSD, and instead focus on the 'user' time) CPU time is reduced by about a third. In multithreaded bootstrap scenarios, this is likely to have a more dramatic impact by reducing contention on the allocator's central free list. Change-Id: I31075a887d591071386c448d6e8769f92238bb07 Reviewed-on: http://gerrit.cloudera.org:8080/3039 Tested-by: Kudu Jenkins Reviewed-by: Adar Dembo <[email protected]> --- M src/kudu/tablet/tablet_bootstrap.cc 1 file changed, 25 insertions(+), 27 deletions(-) Approvals: Adar Dembo: Looks good to me, approved Kudu Jenkins: Verified -- To view, visit http://gerrit.cloudera.org:8080/3039 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: I31075a887d591071386c448d6e8769f92238bb07 Gerrit-PatchSet: 5 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Todd Lipcon <[email protected]> Gerrit-Reviewer: Adar Dembo <[email protected]> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon <[email protected]>
