Todd Lipcon has submitted this change and it was merged. Change subject: write_transaction: allocate RowOp objects from the arena ......................................................................
write_transaction: allocate RowOp objects from the arena This improves the memory locality of write transactions by making all of the RowOps in a batch come from the transaction's arena. Additionally this reduces contention on tcmalloc since the arena grabs memory in bulk. I didn't benchmark this before/after, but in various write stress testing this made a bit of a difference in cache miss rates and CPU time spent in RowOp code. Change-Id: I8e7969423c057f9bf1169fe066819228c59ed269 Reviewed-on: http://gerrit.cloudera.org:8080/6480 Reviewed-by: David Ribeiro Alves <[email protected]> Tested-by: Kudu Jenkins --- M src/kudu/tablet/tablet.cc M src/kudu/tablet/transactions/write_transaction.cc M src/kudu/tablet/transactions/write_transaction.h 3 files changed, 19 insertions(+), 13 deletions(-) Approvals: David Ribeiro Alves: Looks good to me, approved Kudu Jenkins: Verified -- To view, visit http://gerrit.cloudera.org:8080/6480 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: I8e7969423c057f9bf1169fe066819228c59ed269 Gerrit-PatchSet: 4 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Todd Lipcon <[email protected]> Gerrit-Reviewer: David Ribeiro Alves <[email protected]> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon <[email protected]>
