LuciferYang commented on code in PR #37843:
URL: https://github.com/apache/spark/pull/37843#discussion_r967611347


##########
sql/catalyst/src/main/java/org/apache/spark/sql/connector/expressions/Expression.java:
##########
@@ -44,7 +44,16 @@ public interface Expression {
    * List of fields or columns that are referenced by this expression.
    */
   default NamedReference[] references() {

Review Comment:
   Java 8
   
   ```
   OpenJDK 64-Bit Server VM 1.8.0_345-b01 on Linux 5.15.0-1019-azure
   Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz
   Test for distinct with input size 1:      Best Time(ms)   Avg Time(ms)   
Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
   
------------------------------------------------------------------------------------------------------------------------
   Use Arrays.steam api                                 35             35       
    1          2.8         351.9       1.0X
   Use Loop api                                         18             18       
    0          5.5         180.6       1.9X
   
   OpenJDK 64-Bit Server VM 1.8.0_345-b01 on Linux 5.15.0-1019-azure
   Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz
   Test for distinct with input size 5:      Best Time(ms)   Avg Time(ms)   
Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
   
------------------------------------------------------------------------------------------------------------------------
   Use Arrays.steam api                                129            130       
    1          0.8        1288.7       1.0X
   Use Loop api                                         82             83       
    1          1.2         824.4       1.6X
   
   OpenJDK 64-Bit Server VM 1.8.0_345-b01 on Linux 5.15.0-1019-azure
   Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz
   Test for distinct with input size 10:     Best Time(ms)   Avg Time(ms)   
Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
   
------------------------------------------------------------------------------------------------------------------------
   Use Arrays.steam api                                228            229       
    1          0.4        2280.0       1.0X
   Use Loop api                                        160            161       
    1          0.6        1599.7       1.4X
   
   OpenJDK 64-Bit Server VM 1.8.0_345-b01 on Linux 5.15.0-1019-azure
   Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz
   Test for distinct with input size 20:     Best Time(ms)   Avg Time(ms)   
Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
   
------------------------------------------------------------------------------------------------------------------------
   Use Arrays.steam api                                430            431       
    1          0.2        4301.0       1.0X
   Use Loop api                                        311            312       
    1          0.3        3109.9       1.4X
   
   OpenJDK 64-Bit Server VM 1.8.0_345-b01 on Linux 5.15.0-1019-azure
   Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz
   Test for distinct with input size 50:     Best Time(ms)   Avg Time(ms)   
Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
   
------------------------------------------------------------------------------------------------------------------------
   Use Arrays.steam api                                860            862       
    2          0.1        8597.6       1.0X
   Use Loop api                                        701            702       
    1          0.1        7013.1       1.2X
   
   OpenJDK 64-Bit Server VM 1.8.0_345-b01 on Linux 5.15.0-1019-azure
   Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz
   Test for distinct with input size 100:    Best Time(ms)   Avg Time(ms)   
Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
   
------------------------------------------------------------------------------------------------------------------------
   Use Arrays.steam api                               1454           1456       
    3          0.1       14540.1       1.0X
   Use Loop api                                       1317           1318       
    2          0.1       13168.9       1.1X
   
   OpenJDK 64-Bit Server VM 1.8.0_345-b01 on Linux 5.15.0-1019-azure
   Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz
   Test for distinct with input size 500:    Best Time(ms)   Avg Time(ms)   
Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
   
------------------------------------------------------------------------------------------------------------------------
   Use Arrays.steam api                               5584           5586       
    2          0.0       55841.2       1.0X
   Use Loop api                                       5784           5786       
    3          0.0       57839.1       1.0X
   
   OpenJDK 64-Bit Server VM 1.8.0_345-b01 on Linux 5.15.0-1019-azure
   Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz
   Test for distinct with input size 1000:   Best Time(ms)   Avg Time(ms)   
Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
   
------------------------------------------------------------------------------------------------------------------------
   Use Arrays.steam api                              10727          10728       
    2          0.0      107266.4       1.0X
   Use Loop api                                      10534          10535       
    1          0.0      105342.5       1.0X
   ```
   
   Java 11
   
   ```
   OpenJDK 64-Bit Server VM 11.0.16+8-LTS on Linux 5.15.0-1019-azure
   Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz
   Test for distinct with input size 1:      Best Time(ms)   Avg Time(ms)   
Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
   
------------------------------------------------------------------------------------------------------------------------
   Use Arrays.steam api                                 41             42       
    1          2.4         408.5       1.0X
   Use Loop api                                         22             23       
    1          4.5         224.4       1.8X
   
   OpenJDK 64-Bit Server VM 11.0.16+8-LTS on Linux 5.15.0-1019-azure
   Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz
   Test for distinct with input size 5:      Best Time(ms)   Avg Time(ms)   
Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
   
------------------------------------------------------------------------------------------------------------------------
   Use Arrays.steam api                                159            160       
    1          0.6        1594.5       1.0X
   Use Loop api                                         86             87       
    0          1.2         864.7       1.8X
   
   OpenJDK 64-Bit Server VM 11.0.16+8-LTS on Linux 5.15.0-1019-azure
   Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz
   Test for distinct with input size 10:     Best Time(ms)   Avg Time(ms)   
Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
   
------------------------------------------------------------------------------------------------------------------------
   Use Arrays.steam api                                275            276       
    2          0.4        2748.0       1.0X
   Use Loop api                                        167            169       
    3          0.6        1673.5       1.6X
   
   OpenJDK 64-Bit Server VM 11.0.16+8-LTS on Linux 5.15.0-1019-azure
   Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz
   Test for distinct with input size 20:     Best Time(ms)   Avg Time(ms)   
Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
   
------------------------------------------------------------------------------------------------------------------------
   Use Arrays.steam api                                511            513       
    2          0.2        5113.5       1.0X
   Use Loop api                                        315            317       
    2          0.3        3151.8       1.6X
   
   OpenJDK 64-Bit Server VM 11.0.16+8-LTS on Linux 5.15.0-1019-azure
   Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz
   Test for distinct with input size 50:     Best Time(ms)   Avg Time(ms)   
Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
   
------------------------------------------------------------------------------------------------------------------------
   Use Arrays.steam api                               1012           1014       
    2          0.1       10118.2       1.0X
   Use Loop api                                        675            677       
    2          0.1        6747.0       1.5X
   
   OpenJDK 64-Bit Server VM 11.0.16+8-LTS on Linux 5.15.0-1019-azure
   Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz
   Test for distinct with input size 100:    Best Time(ms)   Avg Time(ms)   
Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
   
------------------------------------------------------------------------------------------------------------------------
   Use Arrays.steam api                               1665           1667       
    3          0.1       16645.2       1.0X
   Use Loop api                                       1253           1254       
    1          0.1       12528.3       1.3X
   
   OpenJDK 64-Bit Server VM 11.0.16+8-LTS on Linux 5.15.0-1019-azure
   Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz
   Test for distinct with input size 500:    Best Time(ms)   Avg Time(ms)   
Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
   
------------------------------------------------------------------------------------------------------------------------
   Use Arrays.steam api                               6305           6308       
    5          0.0       63046.3       1.0X
   Use Loop api                                       5375           5376       
    1          0.0       53751.0       1.2X
   
   OpenJDK 64-Bit Server VM 11.0.16+8-LTS on Linux 5.15.0-1019-azure
   Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz
   Test for distinct with input size 1000:   Best Time(ms)   Avg Time(ms)   
Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
   
------------------------------------------------------------------------------------------------------------------------
   Use Arrays.steam api                              12081          12083       
    3          0.0      120806.6       1.0X
   Use Loop api                                      10463          10467       
    5          0.0      104634.7       1.2X
   ```
   
   Java 17
   ```
   OpenJDK 64-Bit Server VM 17.0.4+8-LTS on Linux 5.15.0-1019-azure
   Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz
   Test for distinct with input size 1:      Best Time(ms)   Avg Time(ms)   
Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
   
------------------------------------------------------------------------------------------------------------------------
   Use Arrays.steam api                                 33             36       
    2          3.1         325.2       1.0X
   Use Loop api                                         16             18       
    2          6.1         164.4       2.0X
   
   OpenJDK 64-Bit Server VM 17.0.4+8-LTS on Linux 5.15.0-1019-azure
   Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz
   Test for distinct with input size 5:      Best Time(ms)   Avg Time(ms)   
Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
   
------------------------------------------------------------------------------------------------------------------------
   Use Arrays.steam api                                103            111       
    5          1.0        1032.9       1.0X
   Use Loop api                                         75             80       
    3          1.3         746.4       1.4X
   
   OpenJDK 64-Bit Server VM 17.0.4+8-LTS on Linux 5.15.0-1019-azure
   Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz
   Test for distinct with input size 10:     Best Time(ms)   Avg Time(ms)   
Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
   
------------------------------------------------------------------------------------------------------------------------
   Use Arrays.steam api                                202            210       
    5          0.5        2022.3       1.0X
   Use Loop api                                        152            164       
    8          0.7        1522.6       1.3X
   
   OpenJDK 64-Bit Server VM 17.0.4+8-LTS on Linux 5.15.0-1019-azure
   Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz
   Test for distinct with input size 20:     Best Time(ms)   Avg Time(ms)   
Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
   
------------------------------------------------------------------------------------------------------------------------
   Use Arrays.steam api                                345            362       
   14          0.3        3446.2       1.0X
   Use Loop api                                        283            299       
   15          0.4        2827.3       1.2X
   
   OpenJDK 64-Bit Server VM 17.0.4+8-LTS on Linux 5.15.0-1019-azure
   Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz
   Test for distinct with input size 50:     Best Time(ms)   Avg Time(ms)   
Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
   
------------------------------------------------------------------------------------------------------------------------
   Use Arrays.steam api                                729            767       
   33          0.1        7295.0       1.0X
   Use Loop api                                        581            598       
   12          0.2        5811.8       1.3X
   
   OpenJDK 64-Bit Server VM 17.0.4+8-LTS on Linux 5.15.0-1019-azure
   Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz
   Test for distinct with input size 100:    Best Time(ms)   Avg Time(ms)   
Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
   
------------------------------------------------------------------------------------------------------------------------
   Use Arrays.steam api                               1370           1381       
   16          0.1       13700.8       1.0X
   Use Loop api                                       1107           1114       
   10          0.1       11070.0       1.2X
   
   OpenJDK 64-Bit Server VM 17.0.4+8-LTS on Linux 5.15.0-1019-azure
   Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz
   Test for distinct with input size 500:    Best Time(ms)   Avg Time(ms)   
Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
   
------------------------------------------------------------------------------------------------------------------------
   Use Arrays.steam api                               6541           6545       
    7          0.0       65405.0       1.0X
   Use Loop api                                       4694           4782       
  124          0.0       46939.4       1.4X
   
   OpenJDK 64-Bit Server VM 17.0.4+8-LTS on Linux 5.15.0-1019-azure
   Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz
   Test for distinct with input size 1000:   Best Time(ms)   Avg Time(ms)   
Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
   
------------------------------------------------------------------------------------------------------------------------
   Use Arrays.steam api                              11999          12185       
  263          0.0      119990.3       1.0X
   Use Loop api                                       9282           9366       
  118          0.0       92822.1       1.3X
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to