adibmbrk commented on PR #5607: URL: https://github.com/apache/datafusion-comet/pull/5607#issuecomment-5567199696
**Benchmark environment:** Apple M4, OpenJDK 21, 2M rows, `SPARK_GENERATE_BENCHMARK_FILES=1 make benchmark-org.apache.spark.sql.benchmark.CometBinaryLengthBenchmark` Best Time (ms) / Relative-to-Spark: | Scenario | Spark | Comet (Spark fallback) | Comet (codegen dispatch) | |---|---|---|---| | length width_8B | 147 (1.0x) | 87 (1.7x) | 86 (1.7x) | | length width_64B | 190 (1.0x) | 153 (1.2x) | 153 (1.2x) | | length width_1KB | 732 (1.0x) | 1065 (0.7x) | 1279 (0.6x) | | length width_64B_50pct_null | 158 (1.0x) | 93 (1.7x) | 94 (1.7x) | | length width_64B_90pct_null | 84 (1.0x) | 65 (1.3x) | 66 (1.3x) | | bit_length width_8B | 139 (1.0x) | 95 (1.5x) | 86 (1.6x) | | bit_length width_64B | 186 (1.0x) | 150 (1.2x) | 151 (1.2x) | | bit_length width_1KB | 757 (1.0x) | 1170 (0.6x) | 1129 (0.7x) | | bit_length width_64B_50pct_null | 161 (1.0x) | 92 (1.7x) | 93 (1.7x) | | bit_length width_64B_90pct_null | 83 (1.0x) | 61 (1.4x) | 61 (1.4x) | | octet_length width_8B | 145 (1.0x) | 102 (1.4x) | 104 (1.4x) | | octet_length width_64B | 184 (1.0x) | 148 (1.2x) | 147 (1.2x) | | octet_length width_1KB | 723 (1.0x) | 1094 (0.7x) | 1216 (0.6x) | | octet_length width_64B_50pct_null | 153 (1.0x) | 90 (1.7x) | 91 (1.7x) | | octet_length width_64B_90pct_null | 80 (1.0x) | 63 (1.3x) | 63 (1.3x) | | length downstream-sum width_8B | 107 (1.0x) | 82 (1.3x) | 82 (1.3x) | | length downstream-sum width_64B | 166 (1.0x) | 160 (1.0x) | 159 (1.0x) | | length downstream-sum width_1KB | 711 (1.0x) | 1138 (0.6x) | 1067 (0.7x) | | combined roots width_8B | 134 (1.0x) | 92 (1.5x) | 87 (1.5x) | | combined roots width_64B | 182 (1.0x) | 147 (1.2x) | 148 (1.2x) | | combined roots width_1KB | 662 (1.0x) | 1199 (0.6x) | 1009 (0.7x) | All 21 scenarios: the three arms agree on output (no digest-mismatch warnings). Both Comet arms are now within noise of each other at every shape — confirming the dispatcher no longer changes the plan for `length`/`bit_length`/`octet_length` on `BinaryType`. Comet still trails plain Spark at 1 KB width regardless of arm (~0.6–0.7x); that's a general `CometColumnarToRow`→`Project` transition cost, not specific to the dispatcher this PR is about. -- 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]
