From a0f8cc08a3ca006adf2e63c7c8d5f266dba46328 Mon Sep 17 00:00:00 2001 From: Max Gekk Date: Tue, 14 Apr 2020 04:50:20 +0000 Subject: [PATCH] [SPARK-31426][SQL] Fix perf regressions of toJavaTimestamp/fromJavaTimestamp ### What changes were proposed in this pull request? Reuse the `rebaseGregorianToJulianMicros()` and `rebaseJulianToGregorianMicros()` functions introduced by the PR #28119 in `DateTimeUtils`.`toJavaTimestamp()` and `fromJavaTimestamp()`. Actually, new implementation is derived from Spark 2.4 + rebasing via pre-calculated rebasing maps. ### Why are the changes needed? The changes speed up conversions to/from java.sql.Timestamp, and as a consequence the PR improve performance of ORC datasource in loading/saving timestamps: - Saving ~ **x2.8 faster** in master, and -11% against Spark 2.4.6 - Loading - **x3.2-4.5 faster** in master, -5% against Spark 2.4.6 Before: ``` Save timestamps to ORC: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ after 1582 59877 59877 0 1.7 598.8 0.0X before 1582 61361 61361 0 1.6 613.6 0.0X Load timestamps from ORC: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ after 1582, vec off 48197 48288 118 2.1 482.0 1.0X after 1582, vec on 38247 38351 128 2.6 382.5 1.3X before 1582, vec off 53179 53359 249 1.9 531.8 0.9X before 1582, vec on 44076 44268 269 2.3 440.8 1.1X ``` After: ``` Save timestamps to ORC: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ after 1582 21250 21250 0 4.7 212.5 0.1X before 1582 22105 22105 0 4.5 221.0 0.1X Load timestamps from ORC: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ after 1582, vec off 14903 14933 40 6.7 149.0 1.0X after 1582, vec on 8342 8426 73 12.0 83.4 1.8X before 1582, vec off 15528 15575 76 6.4 155.3 1.0X before 1582, vec on 9025 9075 61 11.1 90.2 1.7X ``` Spark 2.4.6-SNAPSHOT: ``` Save timestamps to ORC: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ after 1582 18858 18858 0 5.3 188.6 1.0X before 1582 18508 18508 0 5.4 185.1 1.0X Load timestamps from ORC: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ after 1582, vec off 14063 14177 143 7.1 140.6 1.0X after 1582, vec on 5955 6029 100 16.8 59.5 2.4X before 1582, vec off 14119 14126 7 7.1 141.2 1.0X before 1582, vec on 5991 6007 25 16.7 59.9 2.3X ``` ### Does this PR introduce any user-facing change? Yes, the `to_utc_timestamp` function returns the later local timestamp in the case of overlapping local timestamps at daylight saving time. it's changed back to the 2.4 behavior. ### How was this patch tested? - By existing test suite `DateTimeUtilsSuite`, `RebaseDateTimeSuite`, `DateFunctionsSuite`, `DateExpressionsSuites`, `ParquetIOSuite`, `OrcHadoopFsRelationSuite`. - Re-generating results of the benchmarks `DateTimeBenchmark` and `DateTimeRebaseBenchmark` in the environment: | Item | Description | | ---- | ----| | Region | us-west-2 (Oregon) | | Instance | r3.xlarge | | AMI | ubuntu/images/hvm-ssd/ubuntu-bionic-18.04-amd64-server-20190722.1 (ami-06f2f779464715dc5) | | Java | OpenJDK 64-Bit Server VM 1.8.0_242 and OpenJDK 64-Bit Server VM 11.0.6+10 | Closes #28189 from MaxGekk/optimize-to-from-java-timestamp. Authored-by: Max Gekk Signed-off-by: Wenchen Fan --- .../sql/catalyst/util/DateTimeUtils.scala | 21 +- .../catalyst/util/DateTimeUtilsSuite.scala | 4 +- .../DateTimeBenchmark-jdk11-results.txt | 218 +++++++++--------- .../benchmarks/DateTimeBenchmark-results.txt | 218 +++++++++--------- .../DateTimeRebaseBenchmark-jdk11-results.txt | 88 +++---- .../DateTimeRebaseBenchmark-results.txt | 88 +++---- 6 files changed, 316 insertions(+), 321 deletions(-) diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/util/DateTimeUtils.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/util/DateTimeUtils.scala index 006ef40c80..af31276dd9 100644 --- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/util/DateTimeUtils.scala +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/util/DateTimeUtils.scala @@ -148,8 +148,12 @@ object DateTimeUtils { * @return A `java.sql.Timestamp` from number of micros since epoch. */ def toJavaTimestamp(us: SQLTimestamp): Timestamp = { - val ldt = microsToInstant(us).atZone(ZoneId.systemDefault()).toLocalDateTime - Timestamp.valueOf(ldt) + val rebasedMicros = rebaseGregorianToJulianMicros(us) + val seconds = Math.floorDiv(rebasedMicros, MICROS_PER_SECOND) + val ts = new Timestamp(seconds * MILLIS_PER_SECOND) + val nanos = (rebasedMicros - seconds * MICROS_PER_SECOND) * NANOS_PER_MICROS + ts.setNanos(nanos.toInt) + ts } /** @@ -172,17 +176,8 @@ object DateTimeUtils { * @return The number of micros since epoch from `java.sql.Timestamp`. */ def fromJavaTimestamp(t: Timestamp): SQLTimestamp = { - val era = if (t.before(julianCommonEraStart)) 0 else 1 - val localDateTime = LocalDateTime.of( - t.getYear + 1900, t.getMonth + 1, 1, - t.getHours, t.getMinutes, t.getSeconds, t.getNanos) - .`with`(ChronoField.ERA, era) - // Add days separately to convert dates existed in Julian calendar but not - // in Proleptic Gregorian calendar. For example, 1000-02-29 is valid date - // in Julian calendar because 1000 is a leap year but 1000 is not a leap - // year in Proleptic Gregorian calendar. And 1000-02-29 doesn't exist in it. - .plusDays(t.getDate - 1) // Returns the next valid date after `date.getDate - 1` days - instantToMicros(localDateTime.atZone(ZoneId.systemDefault).toInstant) + val micros = millisToMicros(t.getTime) + (t.getNanos / NANOS_PER_MICROS) % MICROS_PER_MILLIS + rebaseJulianToGregorianMicros(micros) } /** diff --git a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/util/DateTimeUtilsSuite.scala b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/util/DateTimeUtilsSuite.scala index 88e362b2bc..2337a6a9e2 100644 --- a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/util/DateTimeUtilsSuite.scala +++ b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/util/DateTimeUtilsSuite.scala @@ -496,8 +496,8 @@ class DateTimeUtilsSuite extends SparkFunSuite with Matchers with SQLHelper { test("2016-03-13 02:00:00", tz, "2016-03-13 10:00:00.0") test("2016-03-13 03:00:00", tz, "2016-03-13 10:00:00.0") test("2016-11-06 00:59:59", tz, "2016-11-06 07:59:59.0") - test("2016-11-06 01:00:00", tz, "2016-11-06 08:00:00.0") - test("2016-11-06 01:59:59", tz, "2016-11-06 08:59:59.0") + test("2016-11-06 01:00:00", tz, "2016-11-06 09:00:00.0") + test("2016-11-06 01:59:59", tz, "2016-11-06 09:59:59.0") test("2016-11-06 02:00:00", tz, "2016-11-06 10:00:00.0") } } diff --git a/sql/core/benchmarks/DateTimeBenchmark-jdk11-results.txt b/sql/core/benchmarks/DateTimeBenchmark-jdk11-results.txt index df9735cb7b..27917c204f 100644 --- a/sql/core/benchmarks/DateTimeBenchmark-jdk11-results.txt +++ b/sql/core/benchmarks/DateTimeBenchmark-jdk11-results.txt @@ -6,92 +6,92 @@ OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1 Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz cast to timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -cast to timestamp wholestage off 411 449 54 24.3 41.1 1.0X -cast to timestamp wholestage on 392 408 11 25.5 39.2 1.0X +cast to timestamp wholestage off 447 486 54 22.4 44.7 1.0X +cast to timestamp wholestage on 364 381 14 27.5 36.4 1.2X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz year of timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -year of timestamp wholestage off 1368 1376 11 7.3 136.8 1.0X -year of timestamp wholestage on 1272 1293 21 7.9 127.2 1.1X +year of timestamp wholestage off 1366 1374 11 7.3 136.6 1.0X +year of timestamp wholestage on 1278 1302 21 7.8 127.8 1.1X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz quarter of timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -quarter of timestamp wholestage off 1607 1632 34 6.2 160.7 1.0X -quarter of timestamp wholestage on 1534 1553 22 6.5 153.4 1.0X +quarter of timestamp wholestage off 1606 1622 23 6.2 160.6 1.0X +quarter of timestamp wholestage on 1569 1584 16 6.4 156.9 1.0X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz month of timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -month of timestamp wholestage off 1252 1259 10 8.0 125.2 1.0X -month of timestamp wholestage on 1270 1282 13 7.9 127.0 1.0X +month of timestamp wholestage off 1243 1259 24 8.0 124.3 1.0X +month of timestamp wholestage on 1267 1282 13 7.9 126.7 1.0X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz weekofyear of timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -weekofyear of timestamp wholestage off 2234 2242 12 4.5 223.4 1.0X -weekofyear of timestamp wholestage on 1830 1844 10 5.5 183.0 1.2X +weekofyear of timestamp wholestage off 1837 1846 12 5.4 183.7 1.0X +weekofyear of timestamp wholestage on 1842 1848 4 5.4 184.2 1.0X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz day of timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -day of timestamp wholestage off 1248 1256 11 8.0 124.8 1.0X -day of timestamp wholestage on 1248 1255 10 8.0 124.8 1.0X +day of timestamp wholestage off 1262 1289 39 7.9 126.2 1.0X +day of timestamp wholestage on 1263 1268 6 7.9 126.3 1.0X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz dayofyear of timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -dayofyear of timestamp wholestage off 1290 1303 18 7.8 129.0 1.0X -dayofyear of timestamp wholestage on 1285 1306 20 7.8 128.5 1.0X +dayofyear of timestamp wholestage off 1302 1308 8 7.7 130.2 1.0X +dayofyear of timestamp wholestage on 1300 1308 8 7.7 130.0 1.0X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz dayofmonth of timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -dayofmonth of timestamp wholestage off 1261 1263 2 7.9 126.1 1.0X -dayofmonth of timestamp wholestage on 1253 1259 5 8.0 125.3 1.0X +dayofmonth of timestamp wholestage off 1244 1248 6 8.0 124.4 1.0X +dayofmonth of timestamp wholestage on 1253 1263 10 8.0 125.3 1.0X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz dayofweek of timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -dayofweek of timestamp wholestage off 1419 1421 2 7.0 141.9 1.0X -dayofweek of timestamp wholestage on 1406 1417 11 7.1 140.6 1.0X +dayofweek of timestamp wholestage off 1407 1408 2 7.1 140.7 1.0X +dayofweek of timestamp wholestage on 1411 1432 14 7.1 141.1 1.0X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz weekday of timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -weekday of timestamp wholestage off 1346 1350 6 7.4 134.6 1.0X -weekday of timestamp wholestage on 1348 1360 10 7.4 134.8 1.0X +weekday of timestamp wholestage off 1349 1352 5 7.4 134.9 1.0X +weekday of timestamp wholestage on 1347 1354 10 7.4 134.7 1.0X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz hour of timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -hour of timestamp wholestage off 1051 1057 8 9.5 105.1 1.0X -hour of timestamp wholestage on 991 1002 9 10.1 99.1 1.1X +hour of timestamp wholestage off 1038 1041 5 9.6 103.8 1.0X +hour of timestamp wholestage on 983 995 9 10.2 98.3 1.1X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz minute of timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -minute of timestamp wholestage off 1041 1042 1 9.6 104.1 1.0X -minute of timestamp wholestage on 971 978 9 10.3 97.1 1.1X +minute of timestamp wholestage off 1042 1043 1 9.6 104.2 1.0X +minute of timestamp wholestage on 1022 1030 9 9.8 102.2 1.0X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz second of timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -second of timestamp wholestage off 989 991 3 10.1 98.9 1.0X -second of timestamp wholestage on 986 999 12 10.1 98.6 1.0X +second of timestamp wholestage off 978 979 2 10.2 97.8 1.0X +second of timestamp wholestage on 1016 1028 21 9.8 101.6 1.0X ================================================================================================ @@ -102,15 +102,15 @@ OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1 Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz current_date: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -current_date wholestage off 305 313 12 32.8 30.5 1.0X -current_date wholestage on 302 316 17 33.1 30.2 1.0X +current_date wholestage off 295 299 6 33.9 29.5 1.0X +current_date wholestage on 321 327 7 31.2 32.1 0.9X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz current_timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -current_timestamp wholestage off 359 388 41 27.8 35.9 1.0X -current_timestamp wholestage on 300 412 143 33.3 30.0 1.2X +current_timestamp wholestage off 342 387 63 29.2 34.2 1.0X +current_timestamp wholestage on 324 376 97 30.9 32.4 1.1X ================================================================================================ @@ -121,43 +121,43 @@ OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1 Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz cast to date: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -cast to date wholestage off 1080 1083 5 9.3 108.0 1.0X -cast to date wholestage on 1045 1055 10 9.6 104.5 1.0X +cast to date wholestage off 1065 1067 3 9.4 106.5 1.0X +cast to date wholestage on 1044 1053 10 9.6 104.4 1.0X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz last_day: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -last_day wholestage off 1253 1253 1 8.0 125.3 1.0X -last_day wholestage on 1257 1272 20 8.0 125.7 1.0X +last_day wholestage off 1241 1245 6 8.1 124.1 1.0X +last_day wholestage on 1276 1287 11 7.8 127.6 1.0X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz next_day: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -next_day wholestage off 1129 1137 11 8.9 112.9 1.0X -next_day wholestage on 1083 1092 11 9.2 108.3 1.0X +next_day wholestage off 1130 1150 28 8.8 113.0 1.0X +next_day wholestage on 1086 1096 8 9.2 108.6 1.0X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz date_add: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -date_add wholestage off 1067 1071 6 9.4 106.7 1.0X -date_add wholestage on 1061 1072 7 9.4 106.1 1.0X +date_add wholestage off 1048 1054 9 9.5 104.8 1.0X +date_add wholestage on 1077 1079 2 9.3 107.7 1.0X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz date_sub: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -date_sub wholestage off 1065 1068 4 9.4 106.5 1.0X -date_sub wholestage on 1065 1072 6 9.4 106.5 1.0X +date_sub wholestage off 1047 1052 7 9.6 104.7 1.0X +date_sub wholestage on 1078 1087 7 9.3 107.8 1.0X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz add_months: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -add_months wholestage off 1404 1409 7 7.1 140.4 1.0X -add_months wholestage on 1429 1439 15 7.0 142.9 1.0X +add_months wholestage off 1392 1421 41 7.2 139.2 1.0X +add_months wholestage on 1441 1447 6 6.9 144.1 1.0X ================================================================================================ @@ -168,8 +168,8 @@ OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1 Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz format date: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -format date wholestage off 5642 5741 140 1.8 564.2 1.0X -format date wholestage on 5874 5900 18 1.7 587.4 1.0X +format date wholestage off 6034 6047 19 1.7 603.4 1.0X +format date wholestage on 5874 5891 16 1.7 587.4 1.0X ================================================================================================ @@ -180,8 +180,8 @@ OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1 Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz from_unixtime: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -from_unixtime wholestage off 7504 7515 15 1.3 750.4 1.0X -from_unixtime wholestage on 7579 7612 37 1.3 757.9 1.0X +from_unixtime wholestage off 7350 7371 29 1.4 735.0 1.0X +from_unixtime wholestage on 7415 7428 13 1.3 741.5 1.0X ================================================================================================ @@ -192,15 +192,15 @@ OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1 Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz from_utc_timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -from_utc_timestamp wholestage off 1250 1254 6 8.0 125.0 1.0X -from_utc_timestamp wholestage on 1287 1294 10 7.8 128.7 1.0X +from_utc_timestamp wholestage off 1235 1236 2 8.1 123.5 1.0X +from_utc_timestamp wholestage on 1300 1309 10 7.7 130.0 0.9X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz to_utc_timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -to_utc_timestamp wholestage off 1916 1918 2 5.2 191.6 1.0X -to_utc_timestamp wholestage on 1781 1792 12 5.6 178.1 1.1X +to_utc_timestamp wholestage off 1798 1805 10 5.6 179.8 1.0X +to_utc_timestamp wholestage on 1765 1779 11 5.7 176.5 1.0X ================================================================================================ @@ -211,29 +211,29 @@ OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1 Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz cast interval: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -cast interval wholestage off 347 354 9 28.8 34.7 1.0X -cast interval wholestage on 308 313 3 32.5 30.8 1.1X +cast interval wholestage off 345 350 7 29.0 34.5 1.0X +cast interval wholestage on 325 337 11 30.7 32.5 1.1X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz datediff: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -datediff wholestage off 1884 1895 15 5.3 188.4 1.0X -datediff wholestage on 1824 1833 9 5.5 182.4 1.0X +datediff wholestage off 1833 1834 2 5.5 183.3 1.0X +datediff wholestage on 1807 1815 9 5.5 180.7 1.0X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz months_between: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -months_between wholestage off 5674 5685 16 1.8 567.4 1.0X -months_between wholestage on 5600 5616 14 1.8 560.0 1.0X +months_between wholestage off 5938 5941 4 1.7 593.8 1.0X +months_between wholestage on 5891 5920 19 1.7 589.1 1.0X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz window: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -window wholestage off 1971 2180 295 0.5 1971.1 1.0X -window wholestage on 47323 47354 35 0.0 47322.7 0.0X +window wholestage off 2153 2313 226 0.5 2153.3 1.0X +window wholestage on 47097 47143 31 0.0 47097.0 0.0X ================================================================================================ @@ -244,134 +244,134 @@ OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1 Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz date_trunc YEAR: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -date_trunc YEAR wholestage off 2571 2588 23 3.9 257.1 1.0X -date_trunc YEAR wholestage on 2581 2591 6 3.9 258.1 1.0X +date_trunc YEAR wholestage off 2458 2461 5 4.1 245.8 1.0X +date_trunc YEAR wholestage on 2433 2441 6 4.1 243.3 1.0X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz date_trunc YYYY: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -date_trunc YYYY wholestage off 2564 2568 5 3.9 256.4 1.0X -date_trunc YYYY wholestage on 2583 2592 6 3.9 258.3 1.0X +date_trunc YYYY wholestage off 2454 2457 4 4.1 245.4 1.0X +date_trunc YYYY wholestage on 2436 2442 7 4.1 243.6 1.0X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz date_trunc YY: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -date_trunc YY wholestage off 2574 2577 5 3.9 257.4 1.0X -date_trunc YY wholestage on 2579 2588 8 3.9 257.9 1.0X +date_trunc YY wholestage off 2467 2469 3 4.1 246.7 1.0X +date_trunc YY wholestage on 2435 2448 18 4.1 243.5 1.0X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz date_trunc MON: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -date_trunc MON wholestage off 2598 2599 1 3.8 259.8 1.0X -date_trunc MON wholestage on 2593 2604 11 3.9 259.3 1.0X +date_trunc MON wholestage off 2494 2494 1 4.0 249.4 1.0X +date_trunc MON wholestage on 2428 2441 14 4.1 242.8 1.0X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz date_trunc MONTH: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -date_trunc MONTH wholestage off 2599 2613 19 3.8 259.9 1.0X -date_trunc MONTH wholestage on 2604 2610 5 3.8 260.4 1.0X +date_trunc MONTH wholestage off 2502 2510 12 4.0 250.2 1.0X +date_trunc MONTH wholestage on 2438 2444 6 4.1 243.8 1.0X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz date_trunc MM: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -date_trunc MM wholestage off 2605 2613 10 3.8 260.5 1.0X -date_trunc MM wholestage on 2595 2601 4 3.9 259.5 1.0X +date_trunc MM wholestage off 2486 2487 1 4.0 248.6 1.0X +date_trunc MM wholestage on 2436 2441 4 4.1 243.6 1.0X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz date_trunc DAY: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -date_trunc DAY wholestage off 2361 2367 9 4.2 236.1 1.0X -date_trunc DAY wholestage on 2370 2383 11 4.2 237.0 1.0X +date_trunc DAY wholestage off 2406 2421 21 4.2 240.6 1.0X +date_trunc DAY wholestage on 2352 2370 23 4.3 235.2 1.0X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz date_trunc DD: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -date_trunc DD wholestage off 2376 2385 13 4.2 237.6 1.0X -date_trunc DD wholestage on 2368 2372 3 4.2 236.8 1.0X +date_trunc DD wholestage off 2414 2417 5 4.1 241.4 1.0X +date_trunc DD wholestage on 2355 2366 8 4.2 235.5 1.0X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz date_trunc HOUR: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -date_trunc HOUR wholestage off 2399 2404 7 4.2 239.9 1.0X -date_trunc HOUR wholestage on 2387 2399 14 4.2 238.7 1.0X +date_trunc HOUR wholestage off 2419 2426 10 4.1 241.9 1.0X +date_trunc HOUR wholestage on 2369 2374 4 4.2 236.9 1.0X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz date_trunc MINUTE: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -date_trunc MINUTE wholestage off 357 370 18 28.0 35.7 1.0X -date_trunc MINUTE wholestage on 373 378 5 26.8 37.3 1.0X +date_trunc MINUTE wholestage off 357 378 30 28.0 35.7 1.0X +date_trunc MINUTE wholestage on 331 335 4 30.2 33.1 1.1X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz date_trunc SECOND: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -date_trunc SECOND wholestage off 382 382 1 26.2 38.2 1.0X -date_trunc SECOND wholestage on 372 380 8 26.9 37.2 1.0X +date_trunc SECOND wholestage off 373 375 3 26.8 37.3 1.0X +date_trunc SECOND wholestage on 330 335 4 30.3 33.0 1.1X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz date_trunc WEEK: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -date_trunc WEEK wholestage off 2501 2512 14 4.0 250.1 1.0X -date_trunc WEEK wholestage on 2484 2498 12 4.0 248.4 1.0X +date_trunc WEEK wholestage off 2479 2480 2 4.0 247.9 1.0X +date_trunc WEEK wholestage on 2441 2450 8 4.1 244.1 1.0X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz date_trunc QUARTER: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -date_trunc QUARTER wholestage off 3407 3410 4 2.9 340.7 1.0X -date_trunc QUARTER wholestage on 3371 3378 5 3.0 337.1 1.0X +date_trunc QUARTER wholestage off 3337 3337 0 3.0 333.7 1.0X +date_trunc QUARTER wholestage on 3235 3244 8 3.1 323.5 1.0X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz trunc year: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -trunc year wholestage off 318 319 2 31.4 31.8 1.0X -trunc year wholestage on 343 347 8 29.2 34.3 0.9X +trunc year wholestage off 315 316 1 31.7 31.5 1.0X +trunc year wholestage on 293 302 16 34.2 29.3 1.1X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz trunc yyyy: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -trunc yyyy wholestage off 315 316 2 31.7 31.5 1.0X -trunc yyyy wholestage on 342 355 18 29.2 34.2 0.9X +trunc yyyy wholestage off 312 314 3 32.0 31.2 1.0X +trunc yyyy wholestage on 295 300 8 33.9 29.5 1.1X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz trunc yy: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -trunc yy wholestage off 317 318 1 31.5 31.7 1.0X -trunc yy wholestage on 339 348 12 29.5 33.9 0.9X +trunc yy wholestage off 311 317 8 32.1 31.1 1.0X +trunc yy wholestage on 294 302 7 34.0 29.4 1.1X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz trunc mon: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -trunc mon wholestage off 317 319 3 31.5 31.7 1.0X -trunc mon wholestage on 337 349 10 29.7 33.7 0.9X +trunc mon wholestage off 312 314 3 32.0 31.2 1.0X +trunc mon wholestage on 296 299 5 33.8 29.6 1.1X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz trunc month: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -trunc month wholestage off 315 316 1 31.7 31.5 1.0X -trunc month wholestage on 341 352 14 29.3 34.1 0.9X +trunc month wholestage off 311 311 0 32.1 31.1 1.0X +trunc month wholestage on 293 297 4 34.2 29.3 1.1X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz trunc mm: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -trunc mm wholestage off 314 315 1 31.8 31.4 1.0X -trunc mm wholestage on 343 348 8 29.2 34.3 0.9X +trunc mm wholestage off 315 320 7 31.7 31.5 1.0X +trunc mm wholestage on 291 296 8 34.4 29.1 1.1X ================================================================================================ @@ -382,36 +382,36 @@ OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1 Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz to timestamp str: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -to timestamp str wholestage off 163 165 2 6.1 163.2 1.0X -to timestamp str wholestage on 158 159 1 6.3 157.7 1.0X +to timestamp str wholestage off 161 171 15 6.2 160.6 1.0X +to timestamp str wholestage on 152 154 1 6.6 151.6 1.1X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz to_timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -to_timestamp wholestage off 1490 1491 2 0.7 1489.5 1.0X -to_timestamp wholestage on 1522 1530 10 0.7 1522.0 1.0X +to_timestamp wholestage off 1441 1450 13 0.7 1440.6 1.0X +to_timestamp wholestage on 1371 1381 20 0.7 1370.8 1.1X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz to_unix_timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -to_unix_timestamp wholestage off 1561 1574 18 0.6 1561.4 1.0X -to_unix_timestamp wholestage on 1531 1540 9 0.7 1531.4 1.0X +to_unix_timestamp wholestage off 1329 1335 9 0.8 1328.7 1.0X +to_unix_timestamp wholestage on 1354 1357 4 0.7 1353.7 1.0X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz to date str: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -to date str wholestage off 206 219 18 4.9 206.1 1.0X -to date str wholestage on 211 214 4 4.7 211.1 1.0X +to date str wholestage off 212 213 2 4.7 211.7 1.0X +to date str wholestage on 206 207 1 4.9 205.9 1.0X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz to_date: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -to_date wholestage off 3195 3208 18 0.3 3195.3 1.0X -to_date wholestage on 3179 3189 12 0.3 3179.2 1.0X +to_date wholestage off 3255 3309 76 0.3 3255.0 1.0X +to_date wholestage on 3146 3168 23 0.3 3146.4 1.0X ================================================================================================ @@ -422,8 +422,8 @@ OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1 Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz To/from java.sql.Timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -From java.sql.Timestamp 1390 1400 9 3.6 277.9 1.0X -Collect longs 1781 2342 496 2.8 356.2 0.8X -Collect timestamps 5837 6037 180 0.9 1167.3 0.2X +From java.sql.Timestamp 359 365 8 13.9 71.8 1.0X +Collect longs 1832 1895 84 2.7 366.3 0.2X +Collect timestamps 1811 2046 247 2.8 362.2 0.2X diff --git a/sql/core/benchmarks/DateTimeBenchmark-results.txt b/sql/core/benchmarks/DateTimeBenchmark-results.txt index 346fbd3499..ee70aa389f 100644 --- a/sql/core/benchmarks/DateTimeBenchmark-results.txt +++ b/sql/core/benchmarks/DateTimeBenchmark-results.txt @@ -6,92 +6,92 @@ OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0- Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz cast to timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -cast to timestamp wholestage off 413 435 31 24.2 41.3 1.0X -cast to timestamp wholestage on 357 375 16 28.0 35.7 1.2X +cast to timestamp wholestage off 416 439 32 24.0 41.6 1.0X +cast to timestamp wholestage on 370 399 31 27.1 37.0 1.1X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz year of timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -year of timestamp wholestage off 1311 1335 34 7.6 131.1 1.0X -year of timestamp wholestage on 1541 1561 21 6.5 154.1 0.9X +year of timestamp wholestage off 1328 1343 21 7.5 132.8 1.0X +year of timestamp wholestage on 1204 1247 27 8.3 120.4 1.1X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz quarter of timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -quarter of timestamp wholestage off 1449 1467 26 6.9 144.9 1.0X -quarter of timestamp wholestage on 1403 1418 12 7.1 140.3 1.0X +quarter of timestamp wholestage off 1447 1451 6 6.9 144.7 1.0X +quarter of timestamp wholestage on 1384 1392 7 7.2 138.4 1.0X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz month of timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -month of timestamp wholestage off 1221 1231 14 8.2 122.1 1.0X -month of timestamp wholestage on 1252 1266 8 8.0 125.2 1.0X +month of timestamp wholestage off 1233 1238 6 8.1 123.3 1.0X +month of timestamp wholestage on 1232 1252 15 8.1 123.2 1.0X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz weekofyear of timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -weekofyear of timestamp wholestage off 1939 1947 11 5.2 193.9 1.0X -weekofyear of timestamp wholestage on 1932 1942 9 5.2 193.2 1.0X +weekofyear of timestamp wholestage off 1921 1923 3 5.2 192.1 1.0X +weekofyear of timestamp wholestage on 1893 1914 14 5.3 189.3 1.0X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz day of timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -day of timestamp wholestage off 1216 1222 9 8.2 121.6 1.0X -day of timestamp wholestage on 1246 1256 14 8.0 124.6 1.0X +day of timestamp wholestage off 1224 1227 4 8.2 122.4 1.0X +day of timestamp wholestage on 1219 1238 15 8.2 121.9 1.0X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz dayofyear of timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -dayofyear of timestamp wholestage off 1278 1286 12 7.8 127.8 1.0X -dayofyear of timestamp wholestage on 1283 1291 8 7.8 128.3 1.0X +dayofyear of timestamp wholestage off 1283 1283 1 7.8 128.3 1.0X +dayofyear of timestamp wholestage on 1256 1261 5 8.0 125.6 1.0X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz dayofmonth of timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -dayofmonth of timestamp wholestage off 1220 1226 9 8.2 122.0 1.0X -dayofmonth of timestamp wholestage on 1232 1249 15 8.1 123.2 1.0X +dayofmonth of timestamp wholestage off 1227 1233 8 8.2 122.7 1.0X +dayofmonth of timestamp wholestage on 1220 1228 6 8.2 122.0 1.0X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz dayofweek of timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -dayofweek of timestamp wholestage off 1409 1423 21 7.1 140.9 1.0X -dayofweek of timestamp wholestage on 1396 1403 7 7.2 139.6 1.0X +dayofweek of timestamp wholestage off 1404 1408 5 7.1 140.4 1.0X +dayofweek of timestamp wholestage on 1376 1386 6 7.3 137.6 1.0X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz weekday of timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -weekday of timestamp wholestage off 1346 1362 22 7.4 134.6 1.0X -weekday of timestamp wholestage on 1330 1341 11 7.5 133.0 1.0X +weekday of timestamp wholestage off 1346 1350 5 7.4 134.6 1.0X +weekday of timestamp wholestage on 1313 1319 6 7.6 131.3 1.0X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz hour of timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -hour of timestamp wholestage off 962 963 2 10.4 96.2 1.0X -hour of timestamp wholestage on 981 999 19 10.2 98.1 1.0X +hour of timestamp wholestage off 1005 1011 8 10.0 100.5 1.0X +hour of timestamp wholestage on 953 961 9 10.5 95.3 1.1X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz minute of timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -minute of timestamp wholestage off 996 999 5 10.0 99.6 1.0X -minute of timestamp wholestage on 975 984 11 10.3 97.5 1.0X +minute of timestamp wholestage off 995 1000 8 10.1 99.5 1.0X +minute of timestamp wholestage on 957 959 3 10.5 95.7 1.0X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz second of timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -second of timestamp wholestage off 1004 1005 2 10.0 100.4 1.0X -second of timestamp wholestage on 979 988 6 10.2 97.9 1.0X +second of timestamp wholestage off 960 963 4 10.4 96.0 1.0X +second of timestamp wholestage on 957 960 3 10.4 95.7 1.0X ================================================================================================ @@ -102,15 +102,15 @@ OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0- Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz current_date: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -current_date wholestage off 285 289 6 35.1 28.5 1.0X -current_date wholestage on 302 308 8 33.1 30.2 0.9X +current_date wholestage off 290 295 7 34.4 29.0 1.0X +current_date wholestage on 287 295 13 34.9 28.7 1.0X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz current_timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -current_timestamp wholestage off 296 298 2 33.8 29.6 1.0X -current_timestamp wholestage on 303 311 7 33.0 30.3 1.0X +current_timestamp wholestage off 294 296 4 34.1 29.4 1.0X +current_timestamp wholestage on 280 303 19 35.7 28.0 1.0X ================================================================================================ @@ -121,43 +121,43 @@ OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0- Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz cast to date: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -cast to date wholestage off 1041 1042 1 9.6 104.1 1.0X -cast to date wholestage on 1027 1039 9 9.7 102.7 1.0X +cast to date wholestage off 1066 1067 1 9.4 106.6 1.0X +cast to date wholestage on 1007 1014 6 9.9 100.7 1.1X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz last_day: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -last_day wholestage off 1250 1254 6 8.0 125.0 1.0X -last_day wholestage on 1267 1273 8 7.9 126.7 1.0X +last_day wholestage off 1273 1289 22 7.9 127.3 1.0X +last_day wholestage on 1238 1246 9 8.1 123.8 1.0X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz next_day: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -next_day wholestage off 1118 1122 6 8.9 111.8 1.0X -next_day wholestage on 1081 1096 10 9.2 108.1 1.0X +next_day wholestage off 1124 1125 2 8.9 112.4 1.0X +next_day wholestage on 1058 1064 8 9.5 105.8 1.1X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz date_add: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -date_add wholestage off 1053 1055 4 9.5 105.3 1.0X -date_add wholestage on 1059 1061 2 9.4 105.9 1.0X +date_add wholestage off 1049 1049 0 9.5 104.9 1.0X +date_add wholestage on 1036 1041 7 9.6 103.6 1.0X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz date_sub: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -date_sub wholestage off 1055 1064 13 9.5 105.5 1.0X -date_sub wholestage on 1055 1060 6 9.5 105.5 1.0X +date_sub wholestage off 1051 1052 2 9.5 105.1 1.0X +date_sub wholestage on 1040 1046 5 9.6 104.0 1.0X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz add_months: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -add_months wholestage off 1373 1375 2 7.3 137.3 1.0X -add_months wholestage on 1383 1393 13 7.2 138.3 1.0X +add_months wholestage off 1381 1388 11 7.2 138.1 1.0X +add_months wholestage on 1359 1367 8 7.4 135.9 1.0X ================================================================================================ @@ -168,8 +168,8 @@ OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0- Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz format date: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -format date wholestage off 5590 5603 19 1.8 559.0 1.0X -format date wholestage on 5974 5985 8 1.7 597.4 0.9X +format date wholestage off 5766 5793 38 1.7 576.6 1.0X +format date wholestage on 5803 5812 7 1.7 580.3 1.0X ================================================================================================ @@ -180,8 +180,8 @@ OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0- Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz from_unixtime: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -from_unixtime wholestage off 8650 8662 18 1.2 865.0 1.0X -from_unixtime wholestage on 8671 8685 15 1.2 867.1 1.0X +from_unixtime wholestage off 8891 8915 34 1.1 889.1 1.0X +from_unixtime wholestage on 8870 8885 12 1.1 887.0 1.0X ================================================================================================ @@ -192,15 +192,15 @@ OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0- Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz from_utc_timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -from_utc_timestamp wholestage off 1152 1157 7 8.7 115.2 1.0X -from_utc_timestamp wholestage on 1193 1200 7 8.4 119.3 1.0X +from_utc_timestamp wholestage off 1089 1094 7 9.2 108.9 1.0X +from_utc_timestamp wholestage on 1105 1107 3 9.0 110.5 1.0X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz to_utc_timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -to_utc_timestamp wholestage off 1414 1417 3 7.1 141.4 1.0X -to_utc_timestamp wholestage on 1390 1397 7 7.2 139.0 1.0X +to_utc_timestamp wholestage off 1620 1628 11 6.2 162.0 1.0X +to_utc_timestamp wholestage on 1600 1608 7 6.3 160.0 1.0X ================================================================================================ @@ -211,29 +211,29 @@ OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0- Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz cast interval: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -cast interval wholestage off 332 350 25 30.1 33.2 1.0X -cast interval wholestage on 325 333 7 30.8 32.5 1.0X +cast interval wholestage off 334 336 3 30.0 33.4 1.0X +cast interval wholestage on 305 310 4 32.7 30.5 1.1X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz datediff: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -datediff wholestage off 1814 1819 7 5.5 181.4 1.0X -datediff wholestage on 1811 1822 9 5.5 181.1 1.0X +datediff wholestage off 1811 1816 7 5.5 181.1 1.0X +datediff wholestage on 1758 1761 3 5.7 175.8 1.0X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz months_between: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -months_between wholestage off 4660 4661 1 2.1 466.0 1.0X -months_between wholestage on 4577 4586 5 2.2 457.7 1.0X +months_between wholestage off 4780 4789 12 2.1 478.0 1.0X +months_between wholestage on 4765 4772 8 2.1 476.5 1.0X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz window: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -window wholestage off 2006 2119 161 0.5 2005.6 1.0X -window wholestage on 43855 43884 41 0.0 43855.4 0.0X +window wholestage off 1840 1967 179 0.5 1840.4 1.0X +window wholestage on 46710 46792 57 0.0 46709.5 0.0X ================================================================================================ @@ -244,134 +244,134 @@ OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0- Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz date_trunc YEAR: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -date_trunc YEAR wholestage off 2336 2339 5 4.3 233.6 1.0X -date_trunc YEAR wholestage on 2204 2211 6 4.5 220.4 1.1X +date_trunc YEAR wholestage off 2350 2351 1 4.3 235.0 1.0X +date_trunc YEAR wholestage on 2317 2324 8 4.3 231.7 1.0X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz date_trunc YYYY: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -date_trunc YYYY wholestage off 2338 2339 1 4.3 233.8 1.0X -date_trunc YYYY wholestage on 2200 2208 5 4.5 220.0 1.1X +date_trunc YYYY wholestage off 2341 2343 3 4.3 234.1 1.0X +date_trunc YYYY wholestage on 2314 2332 22 4.3 231.4 1.0X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz date_trunc YY: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -date_trunc YY wholestage off 2337 2340 5 4.3 233.7 1.0X -date_trunc YY wholestage on 2202 2209 6 4.5 220.2 1.1X +date_trunc YY wholestage off 2348 2354 9 4.3 234.8 1.0X +date_trunc YY wholestage on 2313 2317 3 4.3 231.3 1.0X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz date_trunc MON: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -date_trunc MON wholestage off 2238 2239 1 4.5 223.8 1.0X -date_trunc MON wholestage on 2222 2233 11 4.5 222.2 1.0X +date_trunc MON wholestage off 2383 2385 3 4.2 238.3 1.0X +date_trunc MON wholestage on 2293 2307 22 4.4 229.3 1.0X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz date_trunc MONTH: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -date_trunc MONTH wholestage off 2243 2243 1 4.5 224.3 1.0X -date_trunc MONTH wholestage on 2216 2224 9 4.5 221.6 1.0X +date_trunc MONTH wholestage off 2380 2393 18 4.2 238.0 1.0X +date_trunc MONTH wholestage on 2296 2304 9 4.4 229.6 1.0X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz date_trunc MM: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -date_trunc MM wholestage off 2237 2239 3 4.5 223.7 1.0X -date_trunc MM wholestage on 2217 2221 3 4.5 221.7 1.0X +date_trunc MM wholestage off 2375 2380 7 4.2 237.5 1.0X +date_trunc MM wholestage on 2295 2302 8 4.4 229.5 1.0X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz date_trunc DAY: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -date_trunc DAY wholestage off 1894 1896 3 5.3 189.4 1.0X -date_trunc DAY wholestage on 1851 1856 5 5.4 185.1 1.0X +date_trunc DAY wholestage off 2145 2145 1 4.7 214.5 1.0X +date_trunc DAY wholestage on 2090 2096 6 4.8 209.0 1.0X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz date_trunc DD: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -date_trunc DD wholestage off 1887 1899 17 5.3 188.7 1.0X -date_trunc DD wholestage on 1846 1855 6 5.4 184.6 1.0X +date_trunc DD wholestage off 2142 2149 11 4.7 214.2 1.0X +date_trunc DD wholestage on 2090 2096 5 4.8 209.0 1.0X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz date_trunc HOUR: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -date_trunc HOUR wholestage off 1947 1951 5 5.1 194.7 1.0X -date_trunc HOUR wholestage on 1909 1918 7 5.2 190.9 1.0X +date_trunc HOUR wholestage off 2204 2212 11 4.5 220.4 1.0X +date_trunc HOUR wholestage on 2196 2201 5 4.6 219.6 1.0X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz date_trunc MINUTE: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -date_trunc MINUTE wholestage off 381 386 7 26.3 38.1 1.0X -date_trunc MINUTE wholestage on 321 323 1 31.2 32.1 1.2X +date_trunc MINUTE wholestage off 353 353 1 28.3 35.3 1.0X +date_trunc MINUTE wholestage on 331 335 4 30.2 33.1 1.1X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz date_trunc SECOND: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -date_trunc SECOND wholestage off 368 368 0 27.2 36.8 1.0X -date_trunc SECOND wholestage on 324 327 3 30.9 32.4 1.1X +date_trunc SECOND wholestage off 343 345 3 29.2 34.3 1.0X +date_trunc SECOND wholestage on 335 336 2 29.9 33.5 1.0X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz date_trunc WEEK: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -date_trunc WEEK wholestage off 2213 2213 0 4.5 221.3 1.0X -date_trunc WEEK wholestage on 2113 2123 11 4.7 211.3 1.0X +date_trunc WEEK wholestage off 2277 2279 3 4.4 227.7 1.0X +date_trunc WEEK wholestage on 2262 2270 10 4.4 226.2 1.0X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz date_trunc QUARTER: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -date_trunc QUARTER wholestage off 3071 3081 14 3.3 307.1 1.0X -date_trunc QUARTER wholestage on 3031 3035 3 3.3 303.1 1.0X +date_trunc QUARTER wholestage off 3395 3395 0 2.9 339.5 1.0X +date_trunc QUARTER wholestage on 3185 3193 6 3.1 318.5 1.1X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz trunc year: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -trunc year wholestage off 326 328 3 30.7 32.6 1.0X -trunc year wholestage on 307 318 12 32.6 30.7 1.1X +trunc year wholestage off 321 330 14 31.2 32.1 1.0X +trunc year wholestage on 293 308 14 34.1 29.3 1.1X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz trunc yyyy: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -trunc yyyy wholestage off 327 333 7 30.5 32.7 1.0X -trunc yyyy wholestage on 305 320 17 32.8 30.5 1.1X +trunc yyyy wholestage off 322 324 2 31.1 32.2 1.0X +trunc yyyy wholestage on 293 296 4 34.1 29.3 1.1X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz trunc yy: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -trunc yy wholestage off 322 323 1 31.1 32.2 1.0X -trunc yy wholestage on 304 343 67 32.9 30.4 1.1X +trunc yy wholestage off 322 322 0 31.0 32.2 1.0X +trunc yy wholestage on 292 296 4 34.2 29.2 1.1X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz trunc mon: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -trunc mon wholestage off 321 321 1 31.2 32.1 1.0X -trunc mon wholestage on 303 313 9 33.0 30.3 1.1X +trunc mon wholestage off 319 320 1 31.3 31.9 1.0X +trunc mon wholestage on 293 295 1 34.1 29.3 1.1X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz trunc month: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -trunc month wholestage off 319 323 4 31.3 31.9 1.0X -trunc month wholestage on 305 359 75 32.8 30.5 1.0X +trunc month wholestage off 319 320 1 31.3 31.9 1.0X +trunc month wholestage on 293 295 2 34.1 29.3 1.1X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz trunc mm: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -trunc mm wholestage off 322 323 1 31.0 32.2 1.0X -trunc mm wholestage on 317 351 53 31.5 31.7 1.0X +trunc mm wholestage off 318 319 1 31.4 31.8 1.0X +trunc mm wholestage on 293 312 26 34.1 29.3 1.1X ================================================================================================ @@ -382,36 +382,36 @@ OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0- Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz to timestamp str: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -to timestamp str wholestage off 219 219 0 4.6 219.4 1.0X -to timestamp str wholestage on 214 216 2 4.7 214.0 1.0X +to timestamp str wholestage off 220 226 9 4.5 220.3 1.0X +to timestamp str wholestage on 212 214 4 4.7 212.2 1.0X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz to_timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -to_timestamp wholestage off 1947 1951 6 0.5 1946.8 1.0X -to_timestamp wholestage on 1950 1958 12 0.5 1949.6 1.0X +to_timestamp wholestage off 1875 1876 2 0.5 1874.7 1.0X +to_timestamp wholestage on 2075 2091 25 0.5 2075.1 0.9X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz to_unix_timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -to_unix_timestamp wholestage off 1975 1979 5 0.5 1974.8 1.0X -to_unix_timestamp wholestage on 1895 1908 12 0.5 1895.3 1.0X +to_unix_timestamp wholestage off 2141 2143 2 0.5 2141.2 1.0X +to_unix_timestamp wholestage on 2145 2177 21 0.5 2144.7 1.0X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz to date str: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -to date str wholestage off 284 286 2 3.5 284.3 1.0X -to date str wholestage on 263 266 4 3.8 263.3 1.1X +to date str wholestage off 276 284 11 3.6 276.1 1.0X +to date str wholestage on 264 270 8 3.8 264.3 1.0X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz to_date: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -to_date wholestage off 3460 3485 36 0.3 3459.8 1.0X -to_date wholestage on 3413 3431 25 0.3 3413.0 1.0X +to_date wholestage off 3876 3903 38 0.3 3876.1 1.0X +to_date wholestage on 3833 3843 6 0.3 3833.4 1.0X ================================================================================================ @@ -422,8 +422,8 @@ OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0- Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz To/from java.sql.Timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -From java.sql.Timestamp 2032 2038 6 2.5 406.5 1.0X -Collect longs 1276 1597 419 3.9 255.1 1.6X -Collect timestamps 6254 7606 1172 0.8 1250.7 0.3X +From java.sql.Timestamp 394 399 5 12.7 78.7 1.0X +Collect longs 1336 2676 1201 3.7 267.2 0.3X +Collect timestamps 2025 2091 65 2.5 405.0 0.2X diff --git a/sql/core/benchmarks/DateTimeRebaseBenchmark-jdk11-results.txt b/sql/core/benchmarks/DateTimeRebaseBenchmark-jdk11-results.txt index edf9eef581..2a9322a4b4 100644 --- a/sql/core/benchmarks/DateTimeRebaseBenchmark-jdk11-results.txt +++ b/sql/core/benchmarks/DateTimeRebaseBenchmark-jdk11-results.txt @@ -6,49 +6,49 @@ OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1 Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz Save dates to parquet: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -after 1582, noop 19946 19946 0 5.0 199.5 1.0X -before 1582, noop 10910 10910 0 9.2 109.1 1.8X -after 1582, rebase off 32065 32065 0 3.1 320.7 0.6X -after 1582, rebase on 31424 31424 0 3.2 314.2 0.6X -before 1582, rebase off 21764 21764 0 4.6 217.6 0.9X -before 1582, rebase on 22700 22700 0 4.4 227.0 0.9X +after 1582, noop 21171 21171 0 4.7 211.7 1.0X +before 1582, noop 11036 11036 0 9.1 110.4 1.9X +after 1582, rebase off 34321 34321 0 2.9 343.2 0.6X +after 1582, rebase on 33269 33269 0 3.0 332.7 0.6X +before 1582, rebase off 22016 22016 0 4.5 220.2 1.0X +before 1582, rebase on 23338 23338 0 4.3 233.4 0.9X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz Load dates from parquet: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -after 1582, vec off, rebase off 13054 13273 193 7.7 130.5 1.0X -after 1582, vec off, rebase on 13337 13418 117 7.5 133.4 1.0X -after 1582, vec on, rebase off 3666 3740 116 27.3 36.7 3.6X -after 1582, vec on, rebase on 5097 5160 70 19.6 51.0 2.6X -before 1582, vec off, rebase off 12908 12984 76 7.7 129.1 1.0X -before 1582, vec off, rebase on 14514 14575 53 6.9 145.1 0.9X -before 1582, vec on, rebase off 3718 3790 63 26.9 37.2 3.5X -before 1582, vec on, rebase on 5472 5527 48 18.3 54.7 2.4X +after 1582, vec off, rebase off 12791 13089 287 7.8 127.9 1.0X +after 1582, vec off, rebase on 13203 13271 81 7.6 132.0 1.0X +after 1582, vec on, rebase off 3709 3764 49 27.0 37.1 3.4X +after 1582, vec on, rebase on 5082 5114 29 19.7 50.8 2.5X +before 1582, vec off, rebase off 13059 13153 87 7.7 130.6 1.0X +before 1582, vec off, rebase on 14211 14236 27 7.0 142.1 0.9X +before 1582, vec on, rebase off 3687 3749 72 27.1 36.9 3.5X +before 1582, vec on, rebase on 5449 5497 56 18.4 54.5 2.3X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz Save timestamps to parquet: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -after 1582, noop 2718 2718 0 36.8 27.2 1.0X -before 1582, noop 2774 2774 0 36.0 27.7 1.0X -after 1582, rebase off 16515 16515 0 6.1 165.2 0.2X -after 1582, rebase on 18619 18619 0 5.4 186.2 0.1X -before 1582, rebase off 16382 16382 0 6.1 163.8 0.2X -before 1582, rebase on 19580 19580 0 5.1 195.8 0.1X +after 1582, noop 2831 2831 0 35.3 28.3 1.0X +before 1582, noop 2816 2816 0 35.5 28.2 1.0X +after 1582, rebase off 15543 15543 0 6.4 155.4 0.2X +after 1582, rebase on 18391 18391 0 5.4 183.9 0.2X +before 1582, rebase off 15747 15747 0 6.4 157.5 0.2X +before 1582, rebase on 18846 18846 0 5.3 188.5 0.2X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz Load timestamps from parquet: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -after 1582, vec off, rebase off 15082 15112 43 6.6 150.8 1.0X -after 1582, vec off, rebase on 18035 18105 107 5.5 180.3 0.8X -after 1582, vec on, rebase off 4948 4970 19 20.2 49.5 3.0X -after 1582, vec on, rebase on 8761 8780 25 11.4 87.6 1.7X -before 1582, vec off, rebase off 15285 15389 103 6.5 152.8 1.0X -before 1582, vec off, rebase on 18277 18368 80 5.5 182.8 0.8X -before 1582, vec on, rebase off 4938 4954 15 20.3 49.4 3.1X -before 1582, vec on, rebase on 9220 9248 33 10.8 92.2 1.6X +after 1582, vec off, rebase off 16126 16216 78 6.2 161.3 1.0X +after 1582, vec off, rebase on 18277 18453 165 5.5 182.8 0.9X +after 1582, vec on, rebase off 5030 5067 42 19.9 50.3 3.2X +after 1582, vec on, rebase on 8553 8583 43 11.7 85.5 1.9X +before 1582, vec off, rebase off 15828 15872 39 6.3 158.3 1.0X +before 1582, vec off, rebase on 18899 18959 103 5.3 189.0 0.9X +before 1582, vec on, rebase off 4961 5009 43 20.2 49.6 3.3X +before 1582, vec on, rebase on 9099 9140 40 11.0 91.0 1.8X ================================================================================================ @@ -59,36 +59,36 @@ OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1 Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz Save dates to ORC: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -after 1582, noop 19820 19820 0 5.0 198.2 1.0X -before 1582, noop 10825 10825 0 9.2 108.2 1.8X -after 1582 27705 27705 0 3.6 277.1 0.7X -before 1582 19390 19390 0 5.2 193.9 1.0X +after 1582, noop 21026 21026 0 4.8 210.3 1.0X +before 1582, noop 11040 11040 0 9.1 110.4 1.9X +after 1582 28171 28171 0 3.5 281.7 0.7X +before 1582 18955 18955 0 5.3 189.5 1.1X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz Load dates from ORC: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -after 1582, vec off 10401 10426 33 9.6 104.0 1.0X -after 1582, vec on 3788 3813 29 26.4 37.9 2.7X -before 1582, vec off 10832 10843 11 9.2 108.3 1.0X -before 1582, vec on 4182 4219 46 23.9 41.8 2.5X +after 1582, vec off 10876 10931 49 9.2 108.8 1.0X +after 1582, vec on 3900 3913 20 25.6 39.0 2.8X +before 1582, vec off 11165 11174 12 9.0 111.6 1.0X +before 1582, vec on 4208 4214 7 23.8 42.1 2.6X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz Save timestamps to ORC: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -after 1582, noop 2787 2787 0 35.9 27.9 1.0X -before 1582, noop 2777 2777 0 36.0 27.8 1.0X -after 1582 52456 52456 0 1.9 524.6 0.1X -before 1582 54983 54983 0 1.8 549.8 0.1X +after 1582, noop 2924 2924 0 34.2 29.2 1.0X +before 1582, noop 2820 2820 0 35.5 28.2 1.0X +after 1582 22228 22228 0 4.5 222.3 0.1X +before 1582 22590 22590 0 4.4 225.9 0.1X OpenJDK 64-Bit Server VM 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz Load timestamps from ORC: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -after 1582, vec off 38336 38425 88 2.6 383.4 1.0X -after 1582, vec on 30089 30198 96 3.3 300.9 1.3X -before 1582, vec off 42739 42801 87 2.3 427.4 0.9X -before 1582, vec on 31530 31591 61 3.2 315.3 1.2X +after 1582, vec off 13591 13658 59 7.4 135.9 1.0X +after 1582, vec on 7399 7488 126 13.5 74.0 1.8X +before 1582, vec off 14065 14096 30 7.1 140.7 1.0X +before 1582, vec on 7950 8127 249 12.6 79.5 1.7X diff --git a/sql/core/benchmarks/DateTimeRebaseBenchmark-results.txt b/sql/core/benchmarks/DateTimeRebaseBenchmark-results.txt index 602f3e9dc5..0509505715 100644 --- a/sql/core/benchmarks/DateTimeRebaseBenchmark-results.txt +++ b/sql/core/benchmarks/DateTimeRebaseBenchmark-results.txt @@ -6,49 +6,49 @@ OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0- Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz Save dates to parquet: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -after 1582, noop 23453 23453 0 4.3 234.5 1.0X -before 1582, noop 10821 10821 0 9.2 108.2 2.2X -after 1582, rebase off 35558 35558 0 2.8 355.6 0.7X -after 1582, rebase on 35892 35892 0 2.8 358.9 0.7X -before 1582, rebase off 22700 22700 0 4.4 227.0 1.0X -before 1582, rebase on 23247 23247 0 4.3 232.5 1.0X +after 1582, noop 24114 24114 0 4.1 241.1 1.0X +before 1582, noop 10250 10250 0 9.8 102.5 2.4X +after 1582, rebase off 36672 36672 0 2.7 366.7 0.7X +after 1582, rebase on 37123 37123 0 2.7 371.2 0.6X +before 1582, rebase off 21925 21925 0 4.6 219.2 1.1X +before 1582, rebase on 22341 22341 0 4.5 223.4 1.1X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz Load dates from parquet: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -after 1582, vec off, rebase off 12641 12690 43 7.9 126.4 1.0X -after 1582, vec off, rebase on 13318 13380 67 7.5 133.2 0.9X -after 1582, vec on, rebase off 3648 3659 11 27.4 36.5 3.5X -after 1582, vec on, rebase on 5160 5212 69 19.4 51.6 2.4X -before 1582, vec off, rebase off 13024 13065 36 7.7 130.2 1.0X -before 1582, vec off, rebase on 13810 13932 106 7.2 138.1 0.9X -before 1582, vec on, rebase off 3631 3695 57 27.5 36.3 3.5X -before 1582, vec on, rebase on 5791 5860 71 17.3 57.9 2.2X +after 1582, vec off, rebase off 12456 12601 126 8.0 124.6 1.0X +after 1582, vec off, rebase on 13299 13336 32 7.5 133.0 0.9X +after 1582, vec on, rebase off 3623 3660 40 27.6 36.2 3.4X +after 1582, vec on, rebase on 5160 5177 15 19.4 51.6 2.4X +before 1582, vec off, rebase off 13177 13264 76 7.6 131.8 0.9X +before 1582, vec off, rebase on 14102 14149 46 7.1 141.0 0.9X +before 1582, vec on, rebase off 3649 3670 34 27.4 36.5 3.4X +before 1582, vec on, rebase on 5652 5667 15 17.7 56.5 2.2X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz Save timestamps to parquet: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -after 1582, noop 2750 2750 0 36.4 27.5 1.0X -before 1582, noop 2833 2833 0 35.3 28.3 1.0X -after 1582, rebase off 16832 16832 0 5.9 168.3 0.2X -after 1582, rebase on 19688 19688 0 5.1 196.9 0.1X -before 1582, rebase off 17548 17548 0 5.7 175.5 0.2X -before 1582, rebase on 21343 21343 0 4.7 213.4 0.1X +after 1582, noop 2871 2871 0 34.8 28.7 1.0X +before 1582, noop 2753 2753 0 36.3 27.5 1.0X +after 1582, rebase off 15927 15927 0 6.3 159.3 0.2X +after 1582, rebase on 19138 19138 0 5.2 191.4 0.1X +before 1582, rebase off 16137 16137 0 6.2 161.4 0.2X +before 1582, rebase on 19584 19584 0 5.1 195.8 0.1X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz Load timestamps from parquet: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -after 1582, vec off, rebase off 15243 15329 82 6.6 152.4 1.0X -after 1582, vec off, rebase on 18296 18330 54 5.5 183.0 0.8X -after 1582, vec on, rebase off 4925 4927 2 20.3 49.2 3.1X -after 1582, vec on, rebase on 9647 9686 35 10.4 96.5 1.6X -before 1582, vec off, rebase off 14880 15105 267 6.7 148.8 1.0X -before 1582, vec off, rebase on 18474 18514 51 5.4 184.7 0.8X -before 1582, vec on, rebase off 4970 4978 10 20.1 49.7 3.1X -before 1582, vec on, rebase on 9938 10012 64 10.1 99.4 1.5X +after 1582, vec off, rebase off 14995 15047 47 6.7 150.0 1.0X +after 1582, vec off, rebase on 18111 18146 37 5.5 181.1 0.8X +after 1582, vec on, rebase off 4837 4873 44 20.7 48.4 3.1X +after 1582, vec on, rebase on 9542 9669 111 10.5 95.4 1.6X +before 1582, vec off, rebase off 14993 15090 94 6.7 149.9 1.0X +before 1582, vec off, rebase on 18675 18712 64 5.4 186.7 0.8X +before 1582, vec on, rebase off 4908 4923 15 20.4 49.1 3.1X +before 1582, vec on, rebase on 10128 10148 19 9.9 101.3 1.5X ================================================================================================ @@ -59,36 +59,36 @@ OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0- Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz Save dates to ORC: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -after 1582, noop 23500 23500 0 4.3 235.0 1.0X -before 1582, noop 10788 10788 0 9.3 107.9 2.2X -after 1582 32237 32237 0 3.1 322.4 0.7X -before 1582 20187 20187 0 5.0 201.9 1.2X +after 1582, noop 23977 23977 0 4.2 239.8 1.0X +before 1582, noop 10094 10094 0 9.9 100.9 2.4X +after 1582 33115 33115 0 3.0 331.2 0.7X +before 1582 19430 19430 0 5.1 194.3 1.2X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz Load dates from ORC: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -after 1582, vec off 10947 10971 28 9.1 109.5 1.0X -after 1582, vec on 3677 3702 36 27.2 36.8 3.0X -before 1582, vec off 11456 11472 21 8.7 114.6 1.0X -before 1582, vec on 4079 4103 21 24.5 40.8 2.7X +after 1582, vec off 10217 10241 21 9.8 102.2 1.0X +after 1582, vec on 3671 3691 31 27.2 36.7 2.8X +before 1582, vec off 10800 10874 114 9.3 108.0 0.9X +before 1582, vec on 4118 4165 74 24.3 41.2 2.5X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz Save timestamps to ORC: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -after 1582, noop 2891 2891 0 34.6 28.9 1.0X -before 1582, noop 2906 2906 0 34.4 29.1 1.0X -after 1582 55812 55812 0 1.8 558.1 0.1X -before 1582 57512 57512 0 1.7 575.1 0.1X +after 1582, noop 2691 2691 0 37.2 26.9 1.0X +before 1582, noop 2743 2743 0 36.5 27.4 1.0X +after 1582 21409 21409 0 4.7 214.1 0.1X +before 1582 22554 22554 0 4.4 225.5 0.1X OpenJDK 64-Bit Server VM 1.8.0_242-8u242-b08-0ubuntu3~18.04-b08 on Linux 4.15.0-1063-aws Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz Load timestamps from ORC: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative ------------------------------------------------------------------------------------------------------------------------ -after 1582, vec off 46376 46410 33 2.2 463.8 1.0X -after 1582, vec on 35003 35189 163 2.9 350.0 1.3X -before 1582, vec off 52942 52979 34 1.9 529.4 0.9X -before 1582, vec on 42596 42747 158 2.3 426.0 1.1X +after 1582, vec off 14752 14855 103 6.8 147.5 1.0X +after 1582, vec on 8146 8185 34 12.3 81.5 1.8X +before 1582, vec off 15247 15294 46 6.6 152.5 1.0X +before 1582, vec on 8414 8466 52 11.9 84.1 1.8X