Impala Public Jenkins has submitted this change and it was merged. Change subject: IMPALA-4752: make ObjectPool more efficient ......................................................................
IMPALA-4752: make ObjectPool more efficient Previously it was implemented as a vector of pointers to dynamically allocated wrapper objects, where each wrapper object stored a pointer to the object and a pointer to a vtable, which had a pointer to a destructor, which then calls the actual object's destructor. Instead of doing this, this patch changes ObjectPool to stores the object pointer and function pointer inline in the vector. This avoids an unnecessary malloc() and free() pair per object. Testing: Ran core tests, which should exercise this heavily during query execution. Change-Id: I1e6a40ac798fa64da4767f530c48710cba623ea5 Reviewed-on: http://gerrit.cloudera.org:8080/5666 Reviewed-by: Tim Armstrong <[email protected]> Tested-by: Impala Public Jenkins --- M be/src/common/object-pool.h 1 file changed, 15 insertions(+), 25 deletions(-) Approvals: Impala Public Jenkins: Verified Tim Armstrong: Looks good to me, approved -- To view, visit http://gerrit.cloudera.org:8080/5666 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: I1e6a40ac798fa64da4767f530c48710cba623ea5 Gerrit-PatchSet: 5 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Tim Armstrong <[email protected]> Gerrit-Reviewer: Dan Hecht <[email protected]> Gerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Lars Volker <[email protected]> Gerrit-Reviewer: Thomas Tauber-Marshall <[email protected]> Gerrit-Reviewer: Tim Armstrong <[email protected]>
