Tim Armstrong has uploaded this change for review. ( http://gerrit.cloudera.org:8080/15251
Change subject: iMPALA-9399: optimise RuntimeProfile::ToThrift() ...................................................................... iMPALA-9399: optimise RuntimeProfile::ToThrift() The big win here is to preallocate the vector<TRuntimeProfileNode> to the right size, to avoid copying the TRuntimeProfileNode objects when reallocating the vector. The JIRA description on IMPALA-9399 explains why this happens. Also various simplification/modernisation of code to avoid unnecessary copies of vectors and redundant lock acquisitions. Perf: Added a microbenchmark that shows a 2.4x speedup of RuntimeProfile::ToThrift() on a synthetic profile. Change-Id: I1f85ef005ae3b793515b223d4c04bbd898336065 --- M be/src/benchmarks/CMakeLists.txt A be/src/benchmarks/runtime-profile-benchmark.cc M be/src/util/runtime-profile.cc M be/src/util/runtime-profile.h 4 files changed, 196 insertions(+), 71 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/51/15251/1 -- To view, visit http://gerrit.cloudera.org:8080/15251 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I1f85ef005ae3b793515b223d4c04bbd898336065 Gerrit-Change-Number: 15251 Gerrit-PatchSet: 1 Gerrit-Owner: Tim Armstrong <[email protected]>
