Impala Public Jenkins has submitted this change and it was merged. ( 
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.75x speedup of
RuntimeProfile::ToThrift() on a synthetic profile.

Change-Id: I1f85ef005ae3b793515b223d4c04bbd898336065
Reviewed-on: http://gerrit.cloudera.org:8080/15251
Reviewed-by: Impala Public Jenkins <[email protected]>
Tested-by: Impala Public Jenkins <[email protected]>
---
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, 192 insertions(+), 64 deletions(-)

Approvals:
  Impala Public Jenkins: Looks good to me, approved; Verified

--
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: merged
Gerrit-Change-Id: I1f85ef005ae3b793515b223d4c04bbd898336065
Gerrit-Change-Number: 15251
Gerrit-PatchSet: 8
Gerrit-Owner: Tim Armstrong <[email protected]>
Gerrit-Reviewer: Csaba Ringhofer <[email protected]>
Gerrit-Reviewer: Impala Public Jenkins <[email protected]>
Gerrit-Reviewer: Tim Armstrong <[email protected]>

Reply via email to