spark-instrumented-optimizer/sql/core/benchmarks/ExtractBenchmark-jdk11-results.txt
Kent Yao f1d27cdd91 [SPARK-31119][SQL] Add interval value support for extract expression as extract source
### What changes were proposed in this pull request?

```
<extract expression> ::= EXTRACT <left paren> <extract field> FROM <extract source> <right paren>

<extract source> ::= <datetime value expression> | <interval value expression>
```
We now only support datetime values as extract source for `extract` expression but it's alternative function `date_part` supports both datetime and interval.

This pr adds interval value support for `extract` expression as extract source

### Why are the changes needed?

For ANSI compliance and the semantic consistency between extract and `date_part`, we support intervals for extract expressions.

### Does this PR introduce any user-facing change?

yes, in the `extract(abc from xyz)` expression, the `xyz` can be intervals

### How was this patch tested?

add unit tests

Closes #27876 from yaooqinn/SPARK-31119.

Authored-by: Kent Yao <yaooqinn@hotmail.com>
Signed-off-by: Wenchen Fan <wenchen@databricks.com>
2020-03-18 12:29:39 +08:00

139 lines
15 KiB
Plaintext

Java HotSpot(TM) 64-Bit Server VM 11.0.5+10-LTS on Mac OS X 10.15.3
Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz
Invoke extract for timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
cast to timestamp 311 331 18 32.2 31.1 1.0X
MILLENNIUM of timestamp 873 893 17 11.4 87.3 0.4X
CENTURY of timestamp 869 873 5 11.5 86.9 0.4X
DECADE of timestamp 851 872 23 11.7 85.1 0.4X
YEAR of timestamp 841 856 14 11.9 84.1 0.4X
ISOYEAR of timestamp 927 938 12 10.8 92.7 0.3X
QUARTER of timestamp 959 963 6 10.4 95.9 0.3X
MONTH of timestamp 852 864 18 11.7 85.2 0.4X
WEEK of timestamp 1124 1252 112 8.9 112.4 0.3X
DAY of timestamp 848 867 19 11.8 84.8 0.4X
DAYOFWEEK of timestamp 977 987 16 10.2 97.7 0.3X
DOW of timestamp 945 964 18 10.6 94.5 0.3X
ISODOW of timestamp 924 929 5 10.8 92.4 0.3X
DOY of timestamp 852 906 67 11.7 85.2 0.4X
HOUR of timestamp 665 671 5 15.0 66.5 0.5X
MINUTE of timestamp 655 670 15 15.3 65.5 0.5X
SECOND of timestamp 757 763 7 13.2 75.7 0.4X
MILLISECONDS of timestamp 745 761 14 13.4 74.5 0.4X
MICROSECONDS of timestamp 691 697 7 14.5 69.1 0.5X
EPOCH of timestamp 794 806 12 12.6 79.4 0.4X
Java HotSpot(TM) 64-Bit Server VM 11.0.5+10-LTS on Mac OS X 10.15.3
Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz
Invoke date_part for timestamp: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
cast to timestamp 273 274 1 36.6 27.3 1.0X
MILLENNIUM of timestamp 860 875 14 11.6 86.0 0.3X
CENTURY of timestamp 854 866 11 11.7 85.4 0.3X
DECADE of timestamp 855 863 10 11.7 85.5 0.3X
YEAR of timestamp 833 837 4 12.0 83.3 0.3X
ISOYEAR of timestamp 1022 1036 18 9.8 102.2 0.3X
QUARTER of timestamp 1067 1132 58 9.4 106.7 0.3X
MONTH of timestamp 855 861 5 11.7 85.5 0.3X
WEEK of timestamp 1312 1325 17 7.6 131.2 0.2X
DAY of timestamp 837 847 10 12.0 83.7 0.3X
DAYOFWEEK of timestamp 965 969 4 10.4 96.5 0.3X
DOW of timestamp 981 1038 56 10.2 98.1 0.3X
ISODOW of timestamp 942 959 20 10.6 94.2 0.3X
DOY of timestamp 994 1021 24 10.1 99.4 0.3X
HOUR of timestamp 690 695 7 14.5 69.0 0.4X
MINUTE of timestamp 764 788 21 13.1 76.4 0.4X
SECOND of timestamp 776 795 34 12.9 77.6 0.4X
MILLISECONDS of timestamp 863 879 14 11.6 86.3 0.3X
MICROSECONDS of timestamp 689 695 7 14.5 68.9 0.4X
EPOCH of timestamp 797 865 69 12.5 79.7 0.3X
Java HotSpot(TM) 64-Bit Server VM 11.0.5+10-LTS on Mac OS X 10.15.3
Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz
Invoke extract for date: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
cast to date 763 774 13 13.1 76.3 1.0X
MILLENNIUM of date 857 911 73 11.7 85.7 0.9X
CENTURY of date 869 884 15 11.5 86.9 0.9X
DECADE of date 860 868 7 11.6 86.0 0.9X
YEAR of date 848 852 7 11.8 84.8 0.9X
ISOYEAR of date 1028 1046 22 9.7 102.8 0.7X
QUARTER of date 979 986 7 10.2 97.9 0.8X
MONTH of date 857 862 4 11.7 85.7 0.9X
WEEK of date 1218 1247 29 8.2 121.8 0.6X
DAY of date 855 868 11 11.7 85.5 0.9X
DAYOFWEEK of date 987 1081 82 10.1 98.7 0.8X
DOW of date 986 996 9 10.1 98.6 0.8X
ISODOW of date 938 947 10 10.7 93.8 0.8X
DOY of date 877 890 11 11.4 87.7 0.9X
HOUR of date 1656 1668 12 6.0 165.6 0.5X
MINUTE of date 1652 1666 15 6.1 165.2 0.5X
SECOND of date 1752 1776 23 5.7 175.2 0.4X
MILLISECONDS of date 1757 1766 11 5.7 175.7 0.4X
MICROSECONDS of date 1682 1691 14 5.9 168.2 0.5X
EPOCH of date 1706 1721 14 5.9 170.6 0.4X
Java HotSpot(TM) 64-Bit Server VM 11.0.5+10-LTS on Mac OS X 10.15.3
Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz
Invoke date_part for date: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
cast to date 771 779 10 13.0 77.1 1.0X
MILLENNIUM of date 839 858 22 11.9 83.9 0.9X
CENTURY of date 853 872 22 11.7 85.3 0.9X
DECADE of date 871 878 6 11.5 87.1 0.9X
YEAR of date 853 863 9 11.7 85.3 0.9X
ISOYEAR of date 1011 1021 11 9.9 101.1 0.8X
QUARTER of date 981 988 7 10.2 98.1 0.8X
MONTH of date 859 863 5 11.6 85.9 0.9X
WEEK of date 1148 1159 12 8.7 114.8 0.7X
DAY of date 852 855 2 11.7 85.2 0.9X
DAYOFWEEK of date 937 952 12 10.7 93.7 0.8X
DOW of date 953 956 3 10.5 95.3 0.8X
ISODOW of date 899 916 16 11.1 89.9 0.9X
DOY of date 857 865 7 11.7 85.7 0.9X
HOUR of date 1644 1662 18 6.1 164.4 0.5X
MINUTE of date 1633 1644 10 6.1 163.3 0.5X
SECOND of date 1719 1727 9 5.8 171.9 0.4X
MILLISECONDS of date 1721 1733 11 5.8 172.1 0.4X
MICROSECONDS of date 1656 1680 34 6.0 165.6 0.5X
EPOCH of date 1721 1736 15 5.8 172.1 0.4X
Java HotSpot(TM) 64-Bit Server VM 11.0.5+10-LTS on Mac OS X 10.15.3
Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz
Invoke extract for interval: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
cast to interval 939 947 9 10.7 93.9 1.0X
MILLENNIUM of interval 953 960 6 10.5 95.3 1.0X
CENTURY of interval 971 979 10 10.3 97.1 1.0X
DECADE of interval 962 969 7 10.4 96.2 1.0X
YEAR of interval 965 973 10 10.4 96.5 1.0X
QUARTER of interval 967 979 15 10.3 96.7 1.0X
MONTH of interval 951 979 26 10.5 95.1 1.0X
DAY of interval 945 970 25 10.6 94.5 1.0X
HOUR of interval 963 970 9 10.4 96.3 1.0X
MINUTE of interval 972 991 24 10.3 97.2 1.0X
SECOND of interval 1053 1057 8 9.5 105.3 0.9X
MILLISECONDS of interval 1042 1048 11 9.6 104.2 0.9X
MICROSECONDS of interval 963 967 4 10.4 96.3 1.0X
EPOCH of interval 1051 1071 22 9.5 105.1 0.9X
Java HotSpot(TM) 64-Bit Server VM 11.0.5+10-LTS on Mac OS X 10.15.3
Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz
Invoke date_part for interval: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
cast to interval 944 952 8 10.6 94.4 1.0X
MILLENNIUM of interval 955 960 5 10.5 95.5 1.0X
CENTURY of interval 958 972 12 10.4 95.8 1.0X
DECADE of interval 962 967 6 10.4 96.2 1.0X
YEAR of interval 958 978 18 10.4 95.8 1.0X
QUARTER of interval 979 998 19 10.2 97.9 1.0X
MONTH of interval 949 963 12 10.5 94.9 1.0X
DAY of interval 958 971 11 10.4 95.8 1.0X
HOUR of interval 947 962 15 10.6 94.7 1.0X
MINUTE of interval 989 1006 15 10.1 98.9 1.0X
SECOND of interval 1061 1064 4 9.4 106.1 0.9X
MILLISECONDS of interval 1042 1061 18 9.6 104.2 0.9X
MICROSECONDS of interval 982 992 12 10.2 98.2 1.0X
EPOCH of interval 1047 1057 13 9.5 104.7 0.9X