You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues-all@impala.apache.org by "Daniel Becker (JIRA)" <ji...@apache.org> on 2019/04/04 14:02:00 UTC

[jira] [Comment Edited] (IMPALA-8381) Remove branch from ParquetPlainEncoder::Decode()

    [ https://issues.apache.org/jira/browse/IMPALA-8381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16809886#comment-16809886 ] 

Daniel Becker edited comment on IMPALA-8381 at 4/4/19 2:01 PM:
---------------------------------------------------------------

Some measurements:

Running the following query in the database tpch_parquet:
{code:java}
set num_nodes=1; select max(l_orderkey) from lineitem;{code}
we found the following results averaging the MaterializeTupleTime values over 100 runs with and without the "if":

Without "if": 14.3464ms

With "if": 16.42624ms

This is a 14% improvement in MaterializeTupleTime in this query.

The total query time was 0.11s, the ~2ms gain is a little less than 2%.


was (Author: daniel.becker):
Some measurements:

Running the following query in the database tpch_parquet:
{code:java}
set num_nodes=1; select max(l_orderkey) from lineitem;{code}
we found the following results averaging the MaterializeTupleTime(*) values over 100 runs with and without the "if":

Without "if": 14.3464ms

With "if": 16.42624ms

This is a 14% improvement in MaterializeTupleTime in this query.

The total query time was 0.11s, the ~2ms gain is a little less than 2%.

> Remove branch from ParquetPlainEncoder::Decode()
> ------------------------------------------------
>
>                 Key: IMPALA-8381
>                 URL: https://issues.apache.org/jira/browse/IMPALA-8381
>             Project: IMPALA
>          Issue Type: Improvement
>          Components: Backend
>            Reporter: Csaba Ringhofer
>            Priority: Minor
>              Labels: newbie, parquet, performance, ramp-up
>
> Removing the "if" at
> https://github.com/apache/impala/blob/5670f96b828d57f9e36510bb9af02bcc31de775c/be/src/exec/parquet/parquet-common.h#L203
> can lead to 1.5x speed up in plain decoding (type=int32, stride=16). For primitive types, the same check can be done for a whole batch, so the speedup can be gained for large batches without loosing safety. The only Parquet type where this check is needed per element is BYTE_ARRAY (typically used for STRING columns), which already has a template specialization for  ParquetPlainEncoder::Decode().



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscribe@impala.apache.org
For additional commands, e-mail: issues-all-help@impala.apache.org