Csaba Ringhofer has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/19829


Change subject: IMPALA-12111: Speed up DATE materialization in coordinator
......................................................................

IMPALA-12111: Speed up DATE materialization in coordinator

Before this patch DATE to STRING conversion seemed slow in
general (slower than TIMESTAMP to STRING) which was problematic
mainly on the coordinator where result DATEs are returned
as STRINGs in HS2/Beeswax and the conversion happens on a
single thread.

The main cause seems to be using std::stringstream in
DateValue::ToString(). The patch switches to using
impala::TimestampParser::Format() similarly to TimestampValue.

HS2 result set generation is also changed to avoid using
stringstream for TIMESTAMP/DATE and call ToString() directly.

Benchmarks:
- Added benchmark that shows ~4x impovement for DataValue.ToString().
- Manually tested EE scanerio: RowMaterializationTimer dropped from
  1.7s to 0.6s in
  impala-shell -B -q "select cast(l_shipdate as date) from 
tpch_parquet.lineitem;" > /dev/null

Change-Id: I9a233ae92b1461fc5c47d8345667e36c2632f4c4
---
M be/src/benchmarks/date-benchmark.cc
M be/src/runtime/date-value.cc
M be/src/runtime/datetime-simple-date-format-parser.h
M be/src/runtime/raw-value.cc
M be/src/service/hs2-util.cc
5 files changed, 87 insertions(+), 29 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/29/19829/1
--
To view, visit http://gerrit.cloudera.org:8080/19829
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I9a233ae92b1461fc5c47d8345667e36c2632f4c4
Gerrit-Change-Number: 19829
Gerrit-PatchSet: 1
Gerrit-Owner: Csaba Ringhofer <[email protected]>

Reply via email to