spark-instrumented-optimizer/sql/core/benchmarks/V2FunctionBenchmark-jdk11-results.txt
Chao Sun c709efc1e7 [SPARK-34981][SQL][FOLLOWUP] Use SpecificInternalRow in ApplyFunctionExpression
### What changes were proposed in this pull request?

Use `SpecificInternalRow` instead of `GenericInternalRow` to avoid boxing / unboxing cost.

### Why are the changes needed?

Since it doesn't know the input row schema, `GenericInternalRow` potentially need to apply boxing for input arguments. It's better to use `SpecificInternalRow` instead since we know input data types.

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

No.

### How was this patch tested?

Existing tests.

Closes #32647 from sunchao/specific-input-row.

Authored-by: Chao Sun <sunchao@apple.com>
Signed-off-by: Hyukjin Kwon <gurwls223@apache.org>
2021-05-24 17:25:24 +09:00

45 lines
5.4 KiB
Plaintext

OpenJDK 64-Bit Server VM 11.0.11+9-LTS on Linux 5.4.0-1047-azure
Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz
scalar function (long + long) -> long, result_nullable = true codegen = true: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------------------------------------------
native_long_add 14041 14263 342 35.6 28.1 1.0X
java_long_add_default 35924 36929 872 13.9 71.8 0.4X
java_long_add_magic 14266 14324 51 35.0 28.5 1.0X
java_long_add_static_magic 15268 15290 35 32.7 30.5 0.9X
scala_long_add_default 35174 35767 807 14.2 70.3 0.4X
scala_long_add_magic 14441 14667 243 34.6 28.9 1.0X
OpenJDK 64-Bit Server VM 11.0.11+9-LTS on Linux 5.4.0-1047-azure
Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz
scalar function (long + long) -> long, result_nullable = false codegen = true: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
-------------------------------------------------------------------------------------------------------------------------------------------------------------
native_long_add 12631 12904 254 39.6 25.3 1.0X
java_long_add_default 34026 34124 159 14.7 68.1 0.4X
java_long_add_magic 14317 14550 280 34.9 28.6 0.9X
java_long_add_static_magic 12317 12581 240 40.6 24.6 1.0X
scala_long_add_default 34178 34614 405 14.6 68.4 0.4X
scala_long_add_magic 14259 14493 247 35.1 28.5 0.9X
OpenJDK 64-Bit Server VM 11.0.11+9-LTS on Linux 5.4.0-1047-azure
Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz
scalar function (long + long) -> long, result_nullable = true codegen = false: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
-------------------------------------------------------------------------------------------------------------------------------------------------------------
native_long_add 27516 28663 998 18.2 55.0 1.0X
java_long_add_default 33051 33163 183 15.1 66.1 0.8X
java_long_add_magic 44816 45194 473 11.2 89.6 0.6X
java_long_add_static_magic 43823 44301 773 11.4 87.6 0.6X
scala_long_add_default 36016 36041 43 13.9 72.0 0.8X
scala_long_add_magic 45044 45219 206 11.1 90.1 0.6X
OpenJDK 64-Bit Server VM 11.0.11+9-LTS on Linux 5.4.0-1047-azure
Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz
scalar function (long + long) -> long, result_nullable = false codegen = false: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
--------------------------------------------------------------------------------------------------------------------------------------------------------------
native_long_add 27297 27813 855 18.3 54.6 1.0X
java_long_add_default 34299 34302 3 14.6 68.6 0.8X
java_long_add_magic 43979 44507 459 11.4 88.0 0.6X
java_long_add_static_magic 45129 45622 541 11.1 90.3 0.6X
scala_long_add_default 36541 36934 387 13.7 73.1 0.7X
scala_long_add_magic 45941 46601 635 10.9 91.9 0.6X