You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@impala.apache.org by "Kurt Deschler (Code Review)" <ge...@cloudera.org> on 2023/05/11 16:37:02 UTC

[Impala-ASF-CR] IMPALA-12134: Optimize row materialization time

Kurt Deschler has uploaded this change for review. ( http://gerrit.cloudera.org:8080/19875


Change subject: IMPALA-12134: Optimize row materialization time
......................................................................

IMPALA-12134: Optimize row materialization time

This patch improves row materialization time by providing specialized
formatting logic for default date and timestamp formats and by caching
deserialized column metadata to avoid unnecessary per-row cost.

Benchmarks:
- Manually tested mixed datatype table showed ~20% reduction in row
  materialization time
- Added cases to date-benchmark for new formatters. Date formatting
  improved by 3x and timestamp by 2x

Machine Info: Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz
ToYearMonthDay:            Function  iters/ms
-------------------------------------------------------
             TestCctzToYearMonthDay               15.5
                 TestToYearMonthDay               61.1
                         TestToYear                348
                       TestToString               9.54
          TestToString_stringstream               2.04
           TestDefaultDateToCharBuf                 27
              TestTimestampToString               6.27
      TestDefaultTimestampToCharBuf               13.8

Testing:
- Ran core tests

Change-Id: I1ef5e4137fa6c2d0a5f08b430e01e3fb7de86330
---
M be/src/benchmarks/date-benchmark.cc
M be/src/runtime/date-parse-util.cc
M be/src/runtime/date-parse-util.h
M be/src/runtime/date-value.cc
M be/src/runtime/datetime-simple-date-format-parser.h
M be/src/runtime/timestamp-parse-util.cc
M be/src/runtime/timestamp-parse-util.h
M be/src/runtime/timestamp-value.cc
M be/src/service/query-result-set.cc
9 files changed, 163 insertions(+), 12 deletions(-)



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

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I1ef5e4137fa6c2d0a5f08b430e01e3fb7de86330
Gerrit-Change-Number: 19875
Gerrit-PatchSet: 1
Gerrit-Owner: Kurt Deschler <kd...@cloudera.com>

[Impala-ASF-CR] IMPALA-12134: Optimize row materialization time

Posted by "Csaba Ringhofer (Code Review)" <ge...@cloudera.org>.
Csaba Ringhofer has posted comments on this change. ( http://gerrit.cloudera.org:8080/19875 )

Change subject: IMPALA-12134: Optimize row materialization time
......................................................................


Patch Set 2:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/runtime/timestamp-parse-util.cc
File be/src/runtime/timestamp-parse-util.cc:

http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/runtime/timestamp-parse-util.cc@235
PS1, Line 235: const date& d, const time_duration& t
> Format does not have any special handling. Why is this different?
Format does the special handling with:
  if (dt_ctx.has_date_toks && d.is_special()) return -1;
  if (dt_ctx.has_time_toks && t.is_special()) return -1;

This means that if according to the format date/time part is needed but it is not valid then it returns -1



-- 
To view, visit http://gerrit.cloudera.org:8080/19875
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I1ef5e4137fa6c2d0a5f08b430e01e3fb7de86330
Gerrit-Change-Number: 19875
Gerrit-PatchSet: 2
Gerrit-Owner: Kurt Deschler <kd...@cloudera.com>
Gerrit-Reviewer: Csaba Ringhofer <cs...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Joe McDonnell <jo...@cloudera.com>
Gerrit-Reviewer: Kurt Deschler <kd...@cloudera.com>
Gerrit-Comment-Date: Tue, 16 May 2023 07:29:38 +0000
Gerrit-HasComments: Yes

[Impala-ASF-CR] IMPALA-12134: Optimize row materialization time

Posted by "Kurt Deschler (Code Review)" <ge...@cloudera.org>.
Hello Joe McDonnell, Csaba Ringhofer, Impala Public Jenkins, 

I'd like you to reexamine a change. Please visit

    http://gerrit.cloudera.org:8080/19875

to look at the new patch set (#5).

Change subject: IMPALA-12134: Optimize row materialization time
......................................................................

IMPALA-12134: Optimize row materialization time

This patch improves row materialization time by providing specialized
formatting logic for default date and timestamp formats. For Beeswax
protocol, performance is also improved by caching deserialized column
metadata to avoid unnecessary per-row cost.

Benchmarks:
- Manually tested mixed datatype table showed ~20% reduction in row
  materialization time
- Added cases to date-benchmark for new formatters. Date formatting
  improved by 3x and timestamp by 2x

Machine Info: Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz
ToYearMonthDay:            Function  iters/ms
-------------------------------------------------------
             TestCctzToYearMonthDay               16.5
                 TestToYearMonthDay               61.1
                         TestToYear                280
                       TestToString                 18
          TestToString_stringstream               1.86
           TestDefaultDateToCharBuf               25.5
              TestTimestampToString               11.7
      TestDefaultTimestampToCharBuf               15.7

Testing:
- Ran core tests

Change-Id: I1ef5e4137fa6c2d0a5f08b430e01e3fb7de86330
---
M be/src/benchmarks/date-benchmark.cc
M be/src/runtime/date-parse-util.cc
M be/src/runtime/date-parse-util.h
M be/src/runtime/date-value.cc
M be/src/runtime/datetime-simple-date-format-parser.h
M be/src/runtime/timestamp-parse-util.cc
M be/src/runtime/timestamp-parse-util.h
M be/src/runtime/timestamp-value.cc
M be/src/service/query-result-set.cc
9 files changed, 210 insertions(+), 21 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/75/19875/5
-- 
To view, visit http://gerrit.cloudera.org:8080/19875
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I1ef5e4137fa6c2d0a5f08b430e01e3fb7de86330
Gerrit-Change-Number: 19875
Gerrit-PatchSet: 5
Gerrit-Owner: Kurt Deschler <kd...@cloudera.com>
Gerrit-Reviewer: Csaba Ringhofer <cs...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Joe McDonnell <jo...@cloudera.com>
Gerrit-Reviewer: Kurt Deschler <kd...@cloudera.com>

[Impala-ASF-CR] IMPALA-12134: Optimize row materialization time

Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/19875 )

Change subject: IMPALA-12134: Optimize row materialization time
......................................................................


Patch Set 5:

Build Successful 

https://jenkins.impala.io/job/gerrit-code-review-checks/13065/ : Initial code review checks passed. Use gerrit-verify-dryrun-external or gerrit-verify-dryrun to run full precommit tests.


-- 
To view, visit http://gerrit.cloudera.org:8080/19875
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I1ef5e4137fa6c2d0a5f08b430e01e3fb7de86330
Gerrit-Change-Number: 19875
Gerrit-PatchSet: 5
Gerrit-Owner: Kurt Deschler <kd...@cloudera.com>
Gerrit-Reviewer: Csaba Ringhofer <cs...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Joe McDonnell <jo...@cloudera.com>
Gerrit-Reviewer: Kurt Deschler <kd...@cloudera.com>
Gerrit-Comment-Date: Wed, 17 May 2023 14:08:32 +0000
Gerrit-HasComments: No

[Impala-ASF-CR] IMPALA-12134: Optimize row materialization time

Posted by "Kurt Deschler (Code Review)" <ge...@cloudera.org>.
Kurt Deschler has posted comments on this change. ( http://gerrit.cloudera.org:8080/19875 )

Change subject: IMPALA-12134: Optimize row materialization time
......................................................................


Patch Set 1:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/runtime/timestamp-parse-util.cc
File be/src/runtime/timestamp-parse-util.cc:

http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/runtime/timestamp-parse-util.cc@235
PS1, Line 235: const date& d, const time_duration& t
> Format does the special handling with:
Added return codes and restored prior exception semantics.



-- 
To view, visit http://gerrit.cloudera.org:8080/19875
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I1ef5e4137fa6c2d0a5f08b430e01e3fb7de86330
Gerrit-Change-Number: 19875
Gerrit-PatchSet: 1
Gerrit-Owner: Kurt Deschler <kd...@cloudera.com>
Gerrit-Reviewer: Csaba Ringhofer <cs...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Joe McDonnell <jo...@cloudera.com>
Gerrit-Reviewer: Kurt Deschler <kd...@cloudera.com>
Gerrit-Comment-Date: Tue, 16 May 2023 14:08:47 +0000
Gerrit-HasComments: Yes

[Impala-ASF-CR] IMPALA-12134: Optimize row materialization time

Posted by "Kurt Deschler (Code Review)" <ge...@cloudera.org>.
Hello Joe McDonnell, Csaba Ringhofer, Impala Public Jenkins, 

I'd like you to reexamine a change. Please visit

    http://gerrit.cloudera.org:8080/19875

to look at the new patch set (#4).

Change subject: IMPALA-12134: Optimize row materialization time
......................................................................

IMPALA-12134: Optimize row materialization time

This patch improves row materialization time by providing specialized
formatting logic for default date and timestamp formats. For Beeswax
protocol, performance is also improved by caching deserialized column
metadata to avoid unnecessary per-row cost.

Benchmarks:
- Manually tested mixed datatype table showed ~20% reduction in row
  materialization time
- Added cases to date-benchmark for new formatters. Date formatting
  improved by 3x and timestamp by 2x

Machine Info: Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz
ToYearMonthDay:            Function  iters/ms
-------------------------------------------------------
             TestCctzToYearMonthDay               16.4
                 TestToYearMonthDay               61.5
                         TestToYear                304
                       TestToString               17.7
          TestToString_stringstream                1.9
           TestDefaultDateToCharBuf               25.4
              TestTimestampToString               11.8
      TestDefaultTimestampToCharBuf               15.9

Testing:
- Ran core tests

Change-Id: I1ef5e4137fa6c2d0a5f08b430e01e3fb7de86330
---
M be/src/benchmarks/date-benchmark.cc
M be/src/runtime/date-parse-util.cc
M be/src/runtime/date-parse-util.h
M be/src/runtime/date-value.cc
M be/src/runtime/datetime-simple-date-format-parser.h
M be/src/runtime/timestamp-parse-util.cc
M be/src/runtime/timestamp-parse-util.h
M be/src/runtime/timestamp-value.cc
M be/src/service/query-result-set.cc
9 files changed, 201 insertions(+), 21 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/75/19875/4
-- 
To view, visit http://gerrit.cloudera.org:8080/19875
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I1ef5e4137fa6c2d0a5f08b430e01e3fb7de86330
Gerrit-Change-Number: 19875
Gerrit-PatchSet: 4
Gerrit-Owner: Kurt Deschler <kd...@cloudera.com>
Gerrit-Reviewer: Csaba Ringhofer <cs...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Joe McDonnell <jo...@cloudera.com>
Gerrit-Reviewer: Kurt Deschler <kd...@cloudera.com>

[Impala-ASF-CR] IMPALA-12134: Optimize row materialization time

Posted by "Kurt Deschler (Code Review)" <ge...@cloudera.org>.
Hello Joe McDonnell, Csaba Ringhofer, Impala Public Jenkins, 

I'd like you to reexamine a change. Please visit

    http://gerrit.cloudera.org:8080/19875

to look at the new patch set (#3).

Change subject: IMPALA-12134: Optimize row materialization time
......................................................................

IMPALA-12134: Optimize row materialization time

This patch improves row materialization time by providing specialized
formatting logic for default date and timestamp formats. For Beeswax
protocol, performance is also improved by caching deserialized column
metadata to avoid unnecessary per-row cost.

Benchmarks:
- Manually tested mixed datatype table showed ~20% reduction in row
  materialization time
- Added cases to date-benchmark for new formatters. Date formatting
  improved by 3x and timestamp by 2x

Machine Info: Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz
ToYearMonthDay:            Function  iters/ms
-------------------------------------------------------
             TestCctzToYearMonthDay               16.2
                 TestToYearMonthDay               60.6
                         TestToYear                290
                       TestToString               18.5
          TestToString_stringstream                  2
           TestDefaultDateToCharBuf               25.8
              TestTimestampToString                 12
      TestDefaultTimestampToCharBuf               16.2

Testing:
- Ran core tests

Change-Id: I1ef5e4137fa6c2d0a5f08b430e01e3fb7de86330
---
M be/src/benchmarks/date-benchmark.cc
M be/src/runtime/date-parse-util.cc
M be/src/runtime/date-parse-util.h
M be/src/runtime/date-value.cc
M be/src/runtime/datetime-simple-date-format-parser.h
M be/src/runtime/timestamp-parse-util.cc
M be/src/runtime/timestamp-parse-util.h
M be/src/runtime/timestamp-value.cc
M be/src/service/query-result-set.cc
9 files changed, 190 insertions(+), 20 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/75/19875/3
-- 
To view, visit http://gerrit.cloudera.org:8080/19875
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I1ef5e4137fa6c2d0a5f08b430e01e3fb7de86330
Gerrit-Change-Number: 19875
Gerrit-PatchSet: 3
Gerrit-Owner: Kurt Deschler <kd...@cloudera.com>
Gerrit-Reviewer: Csaba Ringhofer <cs...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Joe McDonnell <jo...@cloudera.com>
Gerrit-Reviewer: Kurt Deschler <kd...@cloudera.com>

[Impala-ASF-CR] IMPALA-12134: Optimize row materialization time

Posted by "Csaba Ringhofer (Code Review)" <ge...@cloudera.org>.
Csaba Ringhofer has posted comments on this change. ( http://gerrit.cloudera.org:8080/19875 )

Change subject: IMPALA-12134: Optimize row materialization time
......................................................................


Patch Set 3:

(2 comments)

http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/benchmarks/date-benchmark.cc
File be/src/benchmarks/date-benchmark.cc:

http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/benchmarks/date-benchmark.cc@84
PS1, Line 84:     to_string_old_result_.resize(date_.size());
> nit: AFAIK  we try to limit to 90 columns in benchmark files too (the style
nit: can you fix the long lines?


http://gerrit.cloudera.org:8080/#/c/19875/3/be/src/runtime/timestamp-value.cc
File be/src/runtime/timestamp-value.cc:

http://gerrit.cloudera.org:8080/#/c/19875/3/be/src/runtime/timestamp-value.cc@187
PS3, Line 187:              timestamp_value.time(), dst) >= 0)) {
             :     dst[len] = '\0';
This looks a bit weird to me, as we accept any >= 0 return value, but always put the null termination at len. I think that it would be clearer if we would simply return early if the time/date are "special". In the current code GetDefaultTimestampFormatContext also calls time.fractional_seconds() without checking whether it is a valid time, potentially leading to exception.



-- 
To view, visit http://gerrit.cloudera.org:8080/19875
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I1ef5e4137fa6c2d0a5f08b430e01e3fb7de86330
Gerrit-Change-Number: 19875
Gerrit-PatchSet: 3
Gerrit-Owner: Kurt Deschler <kd...@cloudera.com>
Gerrit-Reviewer: Csaba Ringhofer <cs...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Joe McDonnell <jo...@cloudera.com>
Gerrit-Reviewer: Kurt Deschler <kd...@cloudera.com>
Gerrit-Comment-Date: Tue, 16 May 2023 14:57:05 +0000
Gerrit-HasComments: Yes

[Impala-ASF-CR] IMPALA-12134: Optimize row materialization time

Posted by "Kurt Deschler (Code Review)" <ge...@cloudera.org>.
Kurt Deschler has posted comments on this change. ( http://gerrit.cloudera.org:8080/19875 )

Change subject: IMPALA-12134: Optimize row materialization time
......................................................................


Patch Set 4:

(3 comments)

http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/benchmarks/date-benchmark.cc
File be/src/benchmarks/date-benchmark.cc:

http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/benchmarks/date-benchmark.cc@84
PS1, Line 84:     to_year_result_.resize(date_.size());
> nit: can you fix the long lines?
Done


http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/benchmarks/date-benchmark.cc@84
PS1, Line 84:     to_year_result_.resize(date_.size());
> nit: AFAIK  we try to limit to 90 columns in benchmark files too (the style
Done


http://gerrit.cloudera.org:8080/#/c/19875/3/be/src/runtime/timestamp-value.cc
File be/src/runtime/timestamp-value.cc:

http://gerrit.cloudera.org:8080/#/c/19875/3/be/src/runtime/timestamp-value.cc@187
PS3, Line 187:     dst[out_len] = '\0';
             :     os << dst;
> This looks a bit weird to me, as we accept any >= 0 return value, but alway
Simplified it and made it flow better.



-- 
To view, visit http://gerrit.cloudera.org:8080/19875
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I1ef5e4137fa6c2d0a5f08b430e01e3fb7de86330
Gerrit-Change-Number: 19875
Gerrit-PatchSet: 4
Gerrit-Owner: Kurt Deschler <kd...@cloudera.com>
Gerrit-Reviewer: Csaba Ringhofer <cs...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Joe McDonnell <jo...@cloudera.com>
Gerrit-Reviewer: Kurt Deschler <kd...@cloudera.com>
Gerrit-Comment-Date: Tue, 16 May 2023 19:18:07 +0000
Gerrit-HasComments: Yes

[Impala-ASF-CR] IMPALA-12134: Optimize row materialization time

Posted by "Kurt Deschler (Code Review)" <ge...@cloudera.org>.
Kurt Deschler has posted comments on this change. ( http://gerrit.cloudera.org:8080/19875 )

Change subject: IMPALA-12134: Optimize row materialization time
......................................................................


Patch Set 1:

(9 comments)

http://gerrit.cloudera.org:8080/#/c/19875/1//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/19875/1//COMMIT_MSG@9
PS1, Line 9:  improves row materialization time by
> The improvements are Beeswax specific at the moment if I understand correct
Done


http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/benchmarks/date-benchmark.cc
File be/src/benchmarks/date-benchmark.cc:

http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/benchmarks/date-benchmark.cc@41
PS1, Line 41: // ToYearMonthDay:            Function  iters/ms   10%ile   50%ile   90%ile     10%ile     50%ile     90%ile
            : //                                                                          (relative) (relative) (relative)
            : // ---------------------------------------------------------------------------------------------------------
            : //              TestCctzToYearMonthDay               23.1     23.4     23.7         1X         1X         1X
            : //                  TestToYearMonthDay                 68     69.6     70.7      2.95X      2.98X      2.98X
            : //                          TestToYear                443      446      448      19.2X      19.1X      18.9X
            : //                        TestToString               9.02     9.04     9.06     0.391X     0.386X     0.382X
            : //           TestToString_stringstream               2.04     2.04     2.08    0.0883X    0.0871X    0.0875X
> Can you update this with your new results?
Done


http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/runtime/date-parse-util.cc
File be/src/runtime/date-parse-util.cc:

http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/runtime/date-parse-util.cc@134
PS1, Line 134: 
> nit: extra line
Done


http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/runtime/date-value.cc
File be/src/runtime/date-value.cc:

http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/runtime/date-value.cc@431
PS1, Line 431: ToString
> ToString could also use the optimized default formatter.
Done


http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/runtime/timestamp-parse-util.cc
File be/src/runtime/timestamp-parse-util.cc:

http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/runtime/timestamp-parse-util.cc@235
PS1, Line 235: const date& d, const time_duration& t
> The year() / hours() ... etc functions will throw an exception  if the date
Format does not have any special handling. Why is this different?


http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/runtime/timestamp-parse-util.cc@236
PS1, Line 236:   ZeroPad(dst, d.year(), 4);
             :   ZeroPad(dst + 5, d.month().as_number(), 2);
             :   ZeroPad(dst + 8, d.day(), 2);
> I think that this could be faster if year/month/day were calculated in a si
Done


http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/runtime/timestamp-value.cc
File be/src/runtime/timestamp-value.cc:

http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/runtime/timestamp-value.cc@182
PS1, Line 182: operator
> ToString() could also use the optimized default formatter, see my notes in 
Done


http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/runtime/timestamp-value.cc@183
PS1, Line 183: fractional_seconds
> Calling fractional_seconds() will throw an exception if the timestamp is no
Done


http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/service/query-result-set.cc
File be/src/service/query-result-set.cc:

http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/service/query-result-set.cc@96
PS1, Line 96: medata
> typo
Done



-- 
To view, visit http://gerrit.cloudera.org:8080/19875
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I1ef5e4137fa6c2d0a5f08b430e01e3fb7de86330
Gerrit-Change-Number: 19875
Gerrit-PatchSet: 1
Gerrit-Owner: Kurt Deschler <kd...@cloudera.com>
Gerrit-Reviewer: Csaba Ringhofer <cs...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Joe McDonnell <jo...@cloudera.com>
Gerrit-Reviewer: Kurt Deschler <kd...@cloudera.com>
Gerrit-Comment-Date: Mon, 15 May 2023 18:53:25 +0000
Gerrit-HasComments: Yes

[Impala-ASF-CR] IMPALA-12134: Optimize row materialization time

Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/19875 )

Change subject: IMPALA-12134: Optimize row materialization time
......................................................................


Patch Set 4:

Build Successful 

https://jenkins.impala.io/job/gerrit-code-review-checks/13060/ : Initial code review checks passed. Use gerrit-verify-dryrun-external or gerrit-verify-dryrun to run full precommit tests.


-- 
To view, visit http://gerrit.cloudera.org:8080/19875
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I1ef5e4137fa6c2d0a5f08b430e01e3fb7de86330
Gerrit-Change-Number: 19875
Gerrit-PatchSet: 4
Gerrit-Owner: Kurt Deschler <kd...@cloudera.com>
Gerrit-Reviewer: Csaba Ringhofer <cs...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Joe McDonnell <jo...@cloudera.com>
Gerrit-Reviewer: Kurt Deschler <kd...@cloudera.com>
Gerrit-Comment-Date: Tue, 16 May 2023 19:38:34 +0000
Gerrit-HasComments: No

[Impala-ASF-CR] IMPALA-12134: Optimize row materialization time

Posted by "Kurt Deschler (Code Review)" <ge...@cloudera.org>.
Kurt Deschler has posted comments on this change. ( http://gerrit.cloudera.org:8080/19875 )

Change subject: IMPALA-12134: Optimize row materialization time
......................................................................


Patch Set 4:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/19875/4/be/src/runtime/date-value.cc
File be/src/runtime/date-value.cc:

http://gerrit.cloudera.org:8080/#/c/19875/4/be/src/runtime/date-value.cc@434
PS4, Line 434:   DateParser::FormatDefault(*this, s.data());
> If I understand correctly an invalid date will return a non-empty string st
Done



-- 
To view, visit http://gerrit.cloudera.org:8080/19875
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I1ef5e4137fa6c2d0a5f08b430e01e3fb7de86330
Gerrit-Change-Number: 19875
Gerrit-PatchSet: 4
Gerrit-Owner: Kurt Deschler <kd...@cloudera.com>
Gerrit-Reviewer: Csaba Ringhofer <cs...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Joe McDonnell <jo...@cloudera.com>
Gerrit-Reviewer: Kurt Deschler <kd...@cloudera.com>
Gerrit-Comment-Date: Wed, 17 May 2023 13:45:46 +0000
Gerrit-HasComments: Yes

[Impala-ASF-CR] IMPALA-12134: Optimize row materialization time

Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/19875 )

Change subject: IMPALA-12134: Optimize row materialization time
......................................................................


Patch Set 6:

Build started: https://jenkins.impala.io/job/gerrit-verify-dryrun/9324/ DRY_RUN=false


-- 
To view, visit http://gerrit.cloudera.org:8080/19875
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I1ef5e4137fa6c2d0a5f08b430e01e3fb7de86330
Gerrit-Change-Number: 19875
Gerrit-PatchSet: 6
Gerrit-Owner: Kurt Deschler <kd...@cloudera.com>
Gerrit-Reviewer: Csaba Ringhofer <cs...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Joe McDonnell <jo...@cloudera.com>
Gerrit-Reviewer: Kurt Deschler <kd...@cloudera.com>
Gerrit-Comment-Date: Wed, 17 May 2023 15:05:47 +0000
Gerrit-HasComments: No

[Impala-ASF-CR] IMPALA-12134: Optimize row materialization time

Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/19875 )

Change subject: IMPALA-12134: Optimize row materialization time
......................................................................


Patch Set 1:

Build Successful 

https://jenkins.impala.io/job/gerrit-code-review-checks/13005/ : Initial code review checks passed. Use gerrit-verify-dryrun-external or gerrit-verify-dryrun to run full precommit tests.


-- 
To view, visit http://gerrit.cloudera.org:8080/19875
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I1ef5e4137fa6c2d0a5f08b430e01e3fb7de86330
Gerrit-Change-Number: 19875
Gerrit-PatchSet: 1
Gerrit-Owner: Kurt Deschler <kd...@cloudera.com>
Gerrit-Reviewer: Csaba Ringhofer <cs...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Joe McDonnell <jo...@cloudera.com>
Gerrit-Comment-Date: Thu, 11 May 2023 16:54:15 +0000
Gerrit-HasComments: No

[Impala-ASF-CR] IMPALA-12134: Optimize row materialization time

Posted by "Csaba Ringhofer (Code Review)" <ge...@cloudera.org>.
Csaba Ringhofer has posted comments on this change. ( http://gerrit.cloudera.org:8080/19875 )

Change subject: IMPALA-12134: Optimize row materialization time
......................................................................


Patch Set 1:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/runtime/timestamp-parse-util.cc
File be/src/runtime/timestamp-parse-util.cc:

http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/runtime/timestamp-parse-util.cc@236
PS1, Line 236:   ZeroPad(dst, d.year(), 4);
             :   ZeroPad(dst + 5, d.month().as_number(), 2);
             :   ZeroPad(dst + 8, d.day(), 2);
I think that this could be faster if year/month/day were calculated in a single function call like in  DateParser::FormatDefault.

similarly, probably the time could be also split up more efficiently to hour/minute/second/nanos, but I don't know about a functions that does this



-- 
To view, visit http://gerrit.cloudera.org:8080/19875
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I1ef5e4137fa6c2d0a5f08b430e01e3fb7de86330
Gerrit-Change-Number: 19875
Gerrit-PatchSet: 1
Gerrit-Owner: Kurt Deschler <kd...@cloudera.com>
Gerrit-Reviewer: Csaba Ringhofer <cs...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Joe McDonnell <jo...@cloudera.com>
Gerrit-Comment-Date: Thu, 11 May 2023 21:35:42 +0000
Gerrit-HasComments: Yes

[Impala-ASF-CR] IMPALA-12134: Optimize row materialization time

Posted by "Csaba Ringhofer (Code Review)" <ge...@cloudera.org>.
Csaba Ringhofer has posted comments on this change. ( http://gerrit.cloudera.org:8080/19875 )

Change subject: IMPALA-12134: Optimize row materialization time
......................................................................


Patch Set 5: Code-Review+2


-- 
To view, visit http://gerrit.cloudera.org:8080/19875
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I1ef5e4137fa6c2d0a5f08b430e01e3fb7de86330
Gerrit-Change-Number: 19875
Gerrit-PatchSet: 5
Gerrit-Owner: Kurt Deschler <kd...@cloudera.com>
Gerrit-Reviewer: Csaba Ringhofer <cs...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Joe McDonnell <jo...@cloudera.com>
Gerrit-Reviewer: Kurt Deschler <kd...@cloudera.com>
Gerrit-Comment-Date: Wed, 17 May 2023 15:05:23 +0000
Gerrit-HasComments: No

[Impala-ASF-CR] IMPALA-12134: Optimize row materialization time

Posted by "Csaba Ringhofer (Code Review)" <ge...@cloudera.org>.
Csaba Ringhofer has posted comments on this change. ( http://gerrit.cloudera.org:8080/19875 )

Change subject: IMPALA-12134: Optimize row materialization time
......................................................................


Patch Set 1:

(9 comments)

http://gerrit.cloudera.org:8080/#/c/19875/1//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/19875/1//COMMIT_MSG@9
PS1, Line 9:  improves row materialization time by
The improvements are Beeswax specific at the moment if I understand correctly. Can you mention the effect on Beeswax/HS2 separately?


http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/benchmarks/date-benchmark.cc
File be/src/benchmarks/date-benchmark.cc:

http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/benchmarks/date-benchmark.cc@41
PS1, Line 41: // ToYearMonthDay:            Function  iters/ms   10%ile   50%ile   90%ile     10%ile     50%ile     90%ile
            : //                                                                          (relative) (relative) (relative)
            : // ---------------------------------------------------------------------------------------------------------
            : //              TestCctzToYearMonthDay               23.1     23.4     23.7         1X         1X         1X
            : //                  TestToYearMonthDay                 68     69.6     70.7      2.95X      2.98X      2.98X
            : //                          TestToYear                443      446      448      19.2X      19.1X      18.9X
            : //                        TestToString               9.02     9.04     9.06     0.391X     0.386X     0.382X
            : //           TestToString_stringstream               2.04     2.04     2.08    0.0883X    0.0871X    0.0875X
Can you update this with your new results?


http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/benchmarks/date-benchmark.cc@84
PS1, Line 84:       timestamp_to_char_buf_result_[i].reserve(SimpleDateFormatTokenizer::DEFAULT_DATE_TIME_FMT_LEN);
nit: AFAIK  we try to limit to 90 columns in benchmark files too (the style check didn't complain though, maybe it doesn't cover be/src/benchmarks?)


http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/runtime/date-parse-util.cc
File be/src/runtime/date-parse-util.cc:

http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/runtime/date-parse-util.cc@134
PS1, Line 134: 
nit: extra line


http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/runtime/date-value.cc
File be/src/runtime/date-value.cc:

http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/runtime/date-value.cc@431
PS1, Line 431: ToString
ToString could also use the optimized default formatter.

AFAIK the only major users of << are Beeswax protocol and complex types, while ToString() is used by HS2 and cast functions.
https://github.com/apache/impala/blob/63d13a35f35874822daf167d763ed683f1ec48ef/be/src/exprs/cast-functions-ir.cc#L361


http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/runtime/timestamp-parse-util.cc
File be/src/runtime/timestamp-parse-util.cc:

http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/runtime/timestamp-parse-util.cc@235
PS1, Line 235: const date& d, const time_duration& t
The year() / hours() ... etc functions will throw an exception  if the date/time are not valid. See HasDate() https://github.com/apache/impala/blob/63d13a35f35874822daf167d763ed683f1ec48ef/be/src/runtime/timestamp-value.h#L183

This could be handled at the call site and FormatDefault() could have a DCHECK that d/t are not special.


http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/runtime/timestamp-value.cc
File be/src/runtime/timestamp-value.cc:

http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/runtime/timestamp-value.cc@182
PS1, Line 182: operator
ToString() could also use the optimized default formatter, see my notes in DateValue


http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/runtime/timestamp-value.cc@183
PS1, Line 183: fractional_seconds
Calling fractional_seconds() will throw an exception if the timestamp is not valid.

In most cases we can assume that TimestampValues are valid (invalid values are converted to NULL), but I think that in << we should be defensive and return early if !HasDateAndTime()


http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/service/query-result-set.cc
File be/src/service/query-result-set.cc:

http://gerrit.cloudera.org:8080/#/c/19875/1/be/src/service/query-result-set.cc@96
PS1, Line 96: medata
typo



-- 
To view, visit http://gerrit.cloudera.org:8080/19875
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I1ef5e4137fa6c2d0a5f08b430e01e3fb7de86330
Gerrit-Change-Number: 19875
Gerrit-PatchSet: 1
Gerrit-Owner: Kurt Deschler <kd...@cloudera.com>
Gerrit-Reviewer: Csaba Ringhofer <cs...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Joe McDonnell <jo...@cloudera.com>
Gerrit-Comment-Date: Fri, 12 May 2023 06:27:46 +0000
Gerrit-HasComments: Yes

[Impala-ASF-CR] IMPALA-12134: Optimize row materialization time

Posted by "Kurt Deschler (Code Review)" <ge...@cloudera.org>.
Hello Joe McDonnell, Csaba Ringhofer, Impala Public Jenkins, 

I'd like you to reexamine a change. Please visit

    http://gerrit.cloudera.org:8080/19875

to look at the new patch set (#2).

Change subject: IMPALA-12134: Optimize row materialization time
......................................................................

IMPALA-12134: Optimize row materialization time

This patch improves row materialization time by providing specialized
formatting logic for default date and timestamp formats. For Beeswax
protocol, performance is also improved by caching deserialized column
metadata to avoid unnecessary per-row cost.

Benchmarks:
- Manually tested mixed datatype table showed ~20% reduction in row
  materialization time
- Added cases to date-benchmark for new formatters. Date formatting
  improved by 3x and timestamp by 2x

Machine Info: Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz
ToYearMonthDay:            Function  iters/ms
-------------------------------------------------------
             TestCctzToYearMonthDay               14.8
                 TestToYearMonthDay               62.1
                         TestToYear                373
                       TestToString               18.9
          TestToString_stringstream               1.93
           TestDefaultDateToCharBuf               27.5
              TestTimestampToString               12.2
      TestDefaultTimestampToCharBuf               16.9

Testing:
- Ran core tests

Change-Id: I1ef5e4137fa6c2d0a5f08b430e01e3fb7de86330
---
M be/src/benchmarks/date-benchmark.cc
M be/src/runtime/date-parse-util.cc
M be/src/runtime/date-parse-util.h
M be/src/runtime/date-value.cc
M be/src/runtime/datetime-simple-date-format-parser.h
M be/src/runtime/timestamp-parse-util.cc
M be/src/runtime/timestamp-parse-util.h
M be/src/runtime/timestamp-value.cc
M be/src/service/query-result-set.cc
9 files changed, 186 insertions(+), 20 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/75/19875/2
-- 
To view, visit http://gerrit.cloudera.org:8080/19875
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I1ef5e4137fa6c2d0a5f08b430e01e3fb7de86330
Gerrit-Change-Number: 19875
Gerrit-PatchSet: 2
Gerrit-Owner: Kurt Deschler <kd...@cloudera.com>
Gerrit-Reviewer: Csaba Ringhofer <cs...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Joe McDonnell <jo...@cloudera.com>

[Impala-ASF-CR] IMPALA-12134: Optimize row materialization time

Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/19875 )

Change subject: IMPALA-12134: Optimize row materialization time
......................................................................


Patch Set 3:

Build Successful 

https://jenkins.impala.io/job/gerrit-code-review-checks/13054/ : Initial code review checks passed. Use gerrit-verify-dryrun-external or gerrit-verify-dryrun to run full precommit tests.


-- 
To view, visit http://gerrit.cloudera.org:8080/19875
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I1ef5e4137fa6c2d0a5f08b430e01e3fb7de86330
Gerrit-Change-Number: 19875
Gerrit-PatchSet: 3
Gerrit-Owner: Kurt Deschler <kd...@cloudera.com>
Gerrit-Reviewer: Csaba Ringhofer <cs...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Joe McDonnell <jo...@cloudera.com>
Gerrit-Reviewer: Kurt Deschler <kd...@cloudera.com>
Gerrit-Comment-Date: Tue, 16 May 2023 14:30:23 +0000
Gerrit-HasComments: No

[Impala-ASF-CR] IMPALA-12134: Optimize row materialization time

Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/19875 )

Change subject: IMPALA-12134: Optimize row materialization time
......................................................................


Patch Set 6: Code-Review+2


-- 
To view, visit http://gerrit.cloudera.org:8080/19875
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I1ef5e4137fa6c2d0a5f08b430e01e3fb7de86330
Gerrit-Change-Number: 19875
Gerrit-PatchSet: 6
Gerrit-Owner: Kurt Deschler <kd...@cloudera.com>
Gerrit-Reviewer: Csaba Ringhofer <cs...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Joe McDonnell <jo...@cloudera.com>
Gerrit-Reviewer: Kurt Deschler <kd...@cloudera.com>
Gerrit-Comment-Date: Wed, 17 May 2023 15:05:46 +0000
Gerrit-HasComments: No

[Impala-ASF-CR] IMPALA-12134: Optimize row materialization time

Posted by "Csaba Ringhofer (Code Review)" <ge...@cloudera.org>.
Csaba Ringhofer has posted comments on this change. ( http://gerrit.cloudera.org:8080/19875 )

Change subject: IMPALA-12134: Optimize row materialization time
......................................................................


Patch Set 4:

(1 comment)

One more comment, besides that lgtm

http://gerrit.cloudera.org:8080/#/c/19875/4/be/src/runtime/date-value.cc
File be/src/runtime/date-value.cc:

http://gerrit.cloudera.org:8080/#/c/19875/4/be/src/runtime/date-value.cc@434
PS4, Line 434:   DateParser::FormatDefault(*this, s.data());
If I understand correctly an invalid date will return a non-empty string starting with a /0. I think that this case should be handled similarly to TimestampValue::ToString()



-- 
To view, visit http://gerrit.cloudera.org:8080/19875
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I1ef5e4137fa6c2d0a5f08b430e01e3fb7de86330
Gerrit-Change-Number: 19875
Gerrit-PatchSet: 4
Gerrit-Owner: Kurt Deschler <kd...@cloudera.com>
Gerrit-Reviewer: Csaba Ringhofer <cs...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Joe McDonnell <jo...@cloudera.com>
Gerrit-Reviewer: Kurt Deschler <kd...@cloudera.com>
Gerrit-Comment-Date: Wed, 17 May 2023 06:32:25 +0000
Gerrit-HasComments: Yes

[Impala-ASF-CR] IMPALA-12134: Optimize row materialization time

Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/19875 )

Change subject: IMPALA-12134: Optimize row materialization time
......................................................................

IMPALA-12134: Optimize row materialization time

This patch improves row materialization time by providing specialized
formatting logic for default date and timestamp formats. For Beeswax
protocol, performance is also improved by caching deserialized column
metadata to avoid unnecessary per-row cost.

Benchmarks:
- Manually tested mixed datatype table showed ~20% reduction in row
  materialization time
- Added cases to date-benchmark for new formatters. Date formatting
  improved by 3x and timestamp by 2x

Machine Info: Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz
ToYearMonthDay:            Function  iters/ms
-------------------------------------------------------
             TestCctzToYearMonthDay               16.5
                 TestToYearMonthDay               61.1
                         TestToYear                280
                       TestToString                 18
          TestToString_stringstream               1.86
           TestDefaultDateToCharBuf               25.5
              TestTimestampToString               11.7
      TestDefaultTimestampToCharBuf               15.7

Testing:
- Ran core tests

Change-Id: I1ef5e4137fa6c2d0a5f08b430e01e3fb7de86330
Reviewed-on: http://gerrit.cloudera.org:8080/19875
Reviewed-by: Impala Public Jenkins <im...@cloudera.com>
Tested-by: Impala Public Jenkins <im...@cloudera.com>
---
M be/src/benchmarks/date-benchmark.cc
M be/src/runtime/date-parse-util.cc
M be/src/runtime/date-parse-util.h
M be/src/runtime/date-value.cc
M be/src/runtime/datetime-simple-date-format-parser.h
M be/src/runtime/timestamp-parse-util.cc
M be/src/runtime/timestamp-parse-util.h
M be/src/runtime/timestamp-value.cc
M be/src/service/query-result-set.cc
9 files changed, 210 insertions(+), 21 deletions(-)

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

-- 
To view, visit http://gerrit.cloudera.org:8080/19875
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I1ef5e4137fa6c2d0a5f08b430e01e3fb7de86330
Gerrit-Change-Number: 19875
Gerrit-PatchSet: 7
Gerrit-Owner: Kurt Deschler <kd...@cloudera.com>
Gerrit-Reviewer: Csaba Ringhofer <cs...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Joe McDonnell <jo...@cloudera.com>
Gerrit-Reviewer: Kurt Deschler <kd...@cloudera.com>

[Impala-ASF-CR] IMPALA-12134: Optimize row materialization time

Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/19875 )

Change subject: IMPALA-12134: Optimize row materialization time
......................................................................


Patch Set 6: Verified+1


-- 
To view, visit http://gerrit.cloudera.org:8080/19875
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I1ef5e4137fa6c2d0a5f08b430e01e3fb7de86330
Gerrit-Change-Number: 19875
Gerrit-PatchSet: 6
Gerrit-Owner: Kurt Deschler <kd...@cloudera.com>
Gerrit-Reviewer: Csaba Ringhofer <cs...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Joe McDonnell <jo...@cloudera.com>
Gerrit-Reviewer: Kurt Deschler <kd...@cloudera.com>
Gerrit-Comment-Date: Wed, 17 May 2023 20:26:04 +0000
Gerrit-HasComments: No

[Impala-ASF-CR] IMPALA-12134: Optimize row materialization time

Posted by "Impala Public Jenkins (Code Review)" <ge...@cloudera.org>.
Impala Public Jenkins has posted comments on this change. ( http://gerrit.cloudera.org:8080/19875 )

Change subject: IMPALA-12134: Optimize row materialization time
......................................................................


Patch Set 2:

Build Successful 

https://jenkins.impala.io/job/gerrit-code-review-checks/13051/ : Initial code review checks passed. Use gerrit-verify-dryrun-external or gerrit-verify-dryrun to run full precommit tests.


-- 
To view, visit http://gerrit.cloudera.org:8080/19875
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I1ef5e4137fa6c2d0a5f08b430e01e3fb7de86330
Gerrit-Change-Number: 19875
Gerrit-PatchSet: 2
Gerrit-Owner: Kurt Deschler <kd...@cloudera.com>
Gerrit-Reviewer: Csaba Ringhofer <cs...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <im...@cloudera.com>
Gerrit-Reviewer: Joe McDonnell <jo...@cloudera.com>
Gerrit-Reviewer: Kurt Deschler <kd...@cloudera.com>
Gerrit-Comment-Date: Mon, 15 May 2023 19:10:18 +0000
Gerrit-HasComments: No