impala-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Skye Wanderman-Milne (Code Review)" <>
Subject [Impala-CR](cdh5-trunk) IMPALA-2548: Codegen Tuple::MaterializeExprs() and use in TopN node
Date Wed, 16 Mar 2016 23:37:07 GMT
Skye Wanderman-Milne has uploaded a new patch set (#8).

Change subject: IMPALA-2548: Codegen Tuple::MaterializeExprs() and use in TopN node

IMPALA-2548: Codegen Tuple::MaterializeExprs() and use in TopN node

For the following benchmark query:
 select count(*) from (select l_orderkey from biglineitem order by l_orderkey limit 1000)

The overall query time goes from 3.32s to 2.22s, with the top-n node
time going from 2.9s to 1.6s.

The overall approach of this patch is to move the
TopNNode::InsertTupleRow() call into a cross-compiled batched function
(InsertBatch()), and then replace the MaterializeExprs() calls with
new functions built using the IRBuilder. This involves new codegen
utilities, such as CodegenAnyVal::WriteToSlot() and the ability to
hardcode in a MemPool pointer from which to make varlen data
allocations. This patch also adds a new timer measuring the time spent
inserting tuple rows.

The existing TestQueries::test_top_n tests pass with this patch.

Change-Id: Ib422a8d50303c21c6a228675157bf867e8619444
M be/src/codegen/
M be/src/codegen/codegen-anyval.h
M be/src/codegen/
M be/src/codegen/
M be/src/codegen/
M be/src/codegen/llvm-codegen.h
M be/src/exec/CMakeLists.txt
M be/src/exec/
A be/src/exec/
M be/src/exec/
M be/src/exec/topn-node.h
M be/src/runtime/
M be/src/runtime/descriptors.h
M be/src/runtime/mem-pool.h
M be/src/runtime/
M be/src/runtime/
M be/src/runtime/tuple.h
17 files changed, 495 insertions(+), 81 deletions(-)

  git pull ssh:// refs/changes/01/1901/8
To view, visit
To unsubscribe, visit

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ib422a8d50303c21c6a228675157bf867e8619444
Gerrit-PatchSet: 8
Gerrit-Project: Impala
Gerrit-Branch: cdh5-trunk
Gerrit-Owner: Skye Wanderman-Milne <>
Gerrit-Reviewer: Michael Ho <>
Gerrit-Reviewer: Skye Wanderman-Milne <>

View raw message