You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@spark.apache.org by "viirya (via GitHub)" <gi...@apache.org> on 2026/05/27 21:27:26 UTC
[PR] [SPARK-57111][SQL] Use intrinsic bulk-fill APIs for putNotNulls [spark]
viirya opened a new pull request, #56156:
URL: https://github.com/apache/spark/pull/56156
### What changes were proposed in this pull request?
Follow-up to #56072 (SPARK-57024) and #56082 (SPARK-57036).
`WritableColumnVector.putNotNulls(rowId, count)` clears a run of the
nulls bitmap. It is called once per batch from
`WritableColumnVector.reset()` (when `numNulls > 0`) and from the
`appendNotNulls()` path. Both OnHeap and OffHeap implementations are
per-element byte loops — the same degenerate pattern that SPARK-57024
fixed for `putNulls` and SPARK-57036 fixed for `putBytes` / `putBooleans`.
This change applies the same intrinsic substitutions:
| Method | Substitution |
| --- | --- |
| `OnHeapColumnVector.putNotNulls(rowId, count)` | `Arrays.fill(byte[], ..., (byte) 0)` |
| `OffHeapColumnVector.putNotNulls(rowId, count)` | `Platform.setMemory(addr, (byte) 0, count)` with small-count fallback |
The OffHeap variant reuses the existing `SET_MEMORY_THRESHOLD = 128`
constant introduced for `putNulls` in SPARK-57024. Below the threshold,
an inline byte loop avoids the JNI fixed cost of `Unsafe.setMemory`; at
or above, `setMemory` dominates.
Also extends `WritableColumnVectorBulkFillBenchmark` (added in
SPARK-57042 / #56084, extended for `putNulls` in SPARK-57036 / #56082)
with a `putNotNulls` case mirroring the existing `putNulls` case, so
this change has direct before/after numbers in the benchmark.
### Why are the changes needed?
`putNotNulls` runs once per batch in the vectorized reader path
(`WritableColumnVector.reset()` is called from `ColumnarBatch.close()`
and via `releaseColumns()`, both of which happen at batch boundaries).
The original per-byte loop is meaningfully slower than a `memset` for
the typical batch capacity (4096 elements).
Measured on Apple M4 Max + OpenJDK 21 via
`WritableColumnVectorBulkFillBenchmark` (the `putNotNulls` case added
by this PR), Rate (M elements/s):
| count | OnHeap baseline | OnHeap patched | OffHeap baseline | OffHeap patched | OffHeap delta |
| ------: | --------------: | -------------: | ---------------: | --------------: | ------------: |
| 1 | 228 | 228 | 182 | 218 | +20% |
| 8 | 1,548 | 1,524 | 647 | 1,404 | +117% (within small-count fallback) |
| 64 | 11,651 | 11,155 | 990 | 3,480 | +3.5x (still below threshold; JIT noise) |
| 512 | 27,060 | 26,491 | 1,055 | 12,205 | **+11.6x** |
| 4,096 | 78,952 | 80,531 | 1,029 | 30,784 | **+29.9x** |
| 65,536 | 241,689 | 238,644 | 1,000 | 42,647 | **+42.7x** |
OnHeap is at parity across the count sweep: the C2 compiler already
auto-vectorizes the original byte loop near the byte memory-bandwidth
ceiling on this hardware, so `Arrays.fill` adds no measurable
throughput; the change is kept for idiomatic consistency with the
other byte-fill methods (`putNulls`, `putBytes`, `putBooleans`) which
all use `Arrays.fill`.
GHA `Run benchmarks` numbers will land on this PR shortly via the
auto-commit workflow (same flow as #56072 / #56082).
### Does this PR introduce _any_ user-facing change?
No.
### How was this patch tested?
Existing tests; no behavior change. Ran locally:
- `VectorizedRleValuesReaderSuite`
- `ColumnVectorSuite`
- `ColumnarBatchSuite`
- `ParquetIOSuite`
237 tests, all pass.
### Was this patch authored or co-authored using generative AI tooling?
Generated-by: Claude Code (Claude Opus 4.7)
--
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: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-57111][SQL] Use intrinsic bulk-fill APIs for putNotNulls [spark]
Posted by "viirya (via GitHub)" <gi...@apache.org>.
viirya commented on PR #56156:
URL: https://github.com/apache/spark/pull/56156#issuecomment-4567735160
Merged to master/branch-4.x.
Thanks @dongjoon-hyun
--
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: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-57111][SQL] Use intrinsic bulk-fill APIs for putNotNulls [spark]
Posted by "viirya (via GitHub)" <gi...@apache.org>.
viirya commented on PR #56156:
URL: https://github.com/apache/spark/pull/56156#issuecomment-4559050504
https://github.com/apache/spark/pull/56159 is for baseline numbers. This PR adds a more case to the benchmark so no baseline.
--
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: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-57111][SQL] Use intrinsic bulk-fill APIs for putNotNulls [spark]
Posted by "dongjoon-hyun (via GitHub)" <gi...@apache.org>.
dongjoon-hyun commented on PR #56156:
URL: https://github.com/apache/spark/pull/56156#issuecomment-4559028849
Does this PR include the following?
- https://github.com/apache/spark/pull/56159
--
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: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-57111][SQL] Use intrinsic bulk-fill APIs for putNotNulls [spark]
Posted by "viirya (via GitHub)" <gi...@apache.org>.
viirya commented on PR #56156:
URL: https://github.com/apache/spark/pull/56156#issuecomment-4566544046
Note that the failed test org.apache.spark.sql.jdbc.v2.OracleIntegrationSuite is a known flaky one and not related to this change.
--
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: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-57111][SQL] Use intrinsic bulk-fill APIs for putNotNulls [spark]
Posted by "dongjoon-hyun (via GitHub)" <gi...@apache.org>.
dongjoon-hyun commented on code in PR #56156:
URL: https://github.com/apache/spark/pull/56156#discussion_r3319368078
##########
sql/core/benchmarks/WritableColumnVectorBulkFillBenchmark-jdk21-results.txt:
##########
@@ -2,298 +2,298 @@
WritableColumnVector bulk fill
================================================================================================
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBooleans (boolean) count=1: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
OnHeap 0 0 0 412.2 2.4 1.0X
-OffHeap 0 0 0 394.9 2.5 1.0X
+OffHeap 0 0 0 377.2 2.7 0.9X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBooleans (boolean) count=8: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 1520.7 0.7 1.0X
-OffHeap 0 0 0 1632.8 0.6 1.1X
+OnHeap 0 0 0 1431.9 0.7 1.0X
+OffHeap 0 0 0 1222.1 0.8 0.9X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBooleans (boolean) count=64: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 2586.6 0.4 1.0X
-OffHeap 0 0 0 2550.2 0.4 1.0X
+OnHeap 0 0 0 2803.9 0.4 1.0X
+OffHeap 0 0 0 1514.9 0.7 0.5X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBooleans (boolean) count=512: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 2701.3 0.4 1.0X
-OffHeap 0 0 0 19325.0 0.1 7.2X
+OnHeap 0 0 0 3041.6 0.3 1.0X
+OffHeap 0 0 0 20244.3 0.0 6.7X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBooleans (boolean) count=4096: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 2 2 0 2776.8 0.4 1.0X
-OffHeap 0 0 0 39185.2 0.0 14.1X
+OnHeap 1 1 0 3114.5 0.3 1.0X
+OffHeap 0 0 0 40351.2 0.0 13.0X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBooleans (boolean) count=65536: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 24 24 0 2787.9 0.4 1.0X
-OffHeap 2 2 0 44303.2 0.0 15.9X
+OnHeap 21 21 0 3146.3 0.3 1.0X
+OffHeap 1 1 0 50285.0 0.0 16.0X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBytes (byte) count=1: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 188.3 5.3 1.0X
-OffHeap 0 0 0 158.8 6.3 0.8X
+OnHeap 0 0 0 161.0 6.2 1.0X
+OffHeap 0 0 0 170.1 5.9 1.1X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBytes (byte) count=8: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 1173.6 0.9 1.0X
-OffHeap 0 0 0 849.4 1.2 0.7X
+OnHeap 0 0 0 1126.4 0.9 1.0X
+OffHeap 0 0 0 996.0 1.0 0.9X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBytes (byte) count=64: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 2480.6 0.4 1.0X
-OffHeap 0 0 0 1331.2 0.8 0.5X
+OnHeap 0 0 0 2626.1 0.4 1.0X
+OffHeap 0 0 0 2530.5 0.4 1.0X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBytes (byte) count=512: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 2676.7 0.4 1.0X
-OffHeap 0 0 0 18703.9 0.1 7.0X
+OnHeap 0 0 0 3008.2 0.3 1.0X
+OffHeap 0 0 0 19733.1 0.1 6.6X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBytes (byte) count=4096: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 2 2 0 2772.6 0.4 1.0X
-OffHeap 0 0 0 39243.8 0.0 14.2X
+OnHeap 1 1 0 3099.7 0.3 1.0X
+OffHeap 0 0 0 40088.9 0.0 12.9X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBytes (byte) count=65536: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 24 24 0 2788.2 0.4 1.0X
-OffHeap 2 2 0 44300.3 0.0 15.9X
+OnHeap 21 21 0 3143.8 0.3 1.0X
+OffHeap 1 1 0 50075.3 0.0 15.9X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putShorts (short) count=1: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 130.1 7.7 1.0X
-OffHeap 0 0 0 102.4 9.8 0.8X
+OnHeap 0 0 0 140.6 7.1 1.0X
+OffHeap 0 0 0 108.1 9.3 0.8X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putShorts (short) count=8: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 763.8 1.3 1.0X
-OffHeap 0 0 0 588.5 1.7 0.8X
+OnHeap 0 0 0 809.6 1.2 1.0X
+OffHeap 0 0 0 632.4 1.6 0.8X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putShorts (short) count=64: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 2212.3 0.5 1.0X
-OffHeap 0 0 0 1208.5 0.8 0.5X
+OnHeap 0 0 0 2358.1 0.4 1.0X
+OffHeap 0 0 0 1330.6 0.8 0.6X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putShorts (short) count=512: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 2625.8 0.4 1.0X
-OffHeap 0 0 0 1377.4 0.7 0.5X
+OnHeap 0 0 0 2947.2 0.3 1.0X
+OffHeap 0 0 0 1553.6 0.6 0.5X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putShorts (short) count=4096: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 2 2 0 2773.7 0.4 1.0X
-OffHeap 3 3 0 1407.6 0.7 0.5X
+OnHeap 1 1 0 3107.7 0.3 1.0X
+OffHeap 3 3 0 1588.8 0.6 0.5X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putShorts (short) count=65536: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 24 24 1 2794.1 0.4 1.0X
-OffHeap 48 48 1 1409.4 0.7 0.5X
+OnHeap 21 21 0 3153.4 0.3 1.0X
+OffHeap 42 42 0 1592.4 0.6 0.5X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putInts (int) count=1: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 106.0 9.4 1.0X
-OffHeap 0 0 0 79.7 12.5 0.8X
+OnHeap 0 0 0 140.8 7.1 1.0X
+OffHeap 0 0 0 77.2 13.0 0.5X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putInts (int) count=8: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 763.8 1.3 1.0X
-OffHeap 0 0 0 294.3 3.4 0.4X
+OnHeap 0 0 0 836.1 1.2 1.0X
+OffHeap 0 0 0 308.8 3.2 0.4X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putInts (int) count=64: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 2212.3 0.5 1.0X
-OffHeap 0 0 0 440.6 2.3 0.2X
+OnHeap 0 0 0 2384.8 0.4 1.0X
+OffHeap 0 0 0 472.9 2.1 0.2X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putInts (int) count=512: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 2626.6 0.4 1.0X
-OffHeap 1 1 0 401.7 2.5 0.2X
+OnHeap 0 0 0 2922.4 0.3 1.0X
+OffHeap 1 1 0 453.2 2.2 0.2X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putInts (int) count=4096: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 2 2 0 2767.7 0.4 1.0X
-OffHeap 9 9 0 473.3 2.1 0.2X
+OnHeap 1 1 0 3108.7 0.3 1.0X
+OffHeap 8 8 0 527.7 1.9 0.2X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putInts (int) count=65536: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 24 24 0 2788.4 0.4 1.0X
-OffHeap 142 142 0 473.6 2.1 0.2X
+OnHeap 21 21 0 3150.1 0.3 1.0X
+OffHeap 133 133 0 504.5 2.0 0.2X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putLongs (long) count=1: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 106.0 9.4 1.0X
-OffHeap 0 0 0 84.4 11.8 0.8X
+OnHeap 0 0 0 111.7 9.0 1.0X
+OffHeap 0 0 0 83.2 12.0 0.7X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putLongs (long) count=8: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 661.8 1.5 1.0X
-OffHeap 0 0 0 478.4 2.1 0.7X
+OnHeap 0 0 0 682.0 1.5 1.0X
+OffHeap 0 0 0 529.6 1.9 0.8X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putLongs (long) count=64: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 1974.6 0.5 1.0X
-OffHeap 0 0 0 1148.1 0.9 0.6X
+OnHeap 0 0 0 2139.1 0.5 1.0X
+OffHeap 0 0 0 1242.9 0.8 0.6X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putLongs (long) count=512: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 2605.6 0.4 1.0X
-OffHeap 0 0 0 1365.9 0.7 0.5X
+OnHeap 0 0 0 2926.1 0.3 1.0X
+OffHeap 0 0 0 1542.1 0.6 0.5X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putLongs (long) count=4096: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 2 2 0 2744.1 0.4 1.0X
-OffHeap 3 3 0 1397.2 0.7 0.5X
+OnHeap 1 1 0 3071.3 0.3 1.0X
+OffHeap 3 3 0 1579.9 0.6 0.5X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putLongs (long) count=65536: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 24 24 1 2789.8 0.4 1.0X
-OffHeap 48 49 4 1407.8 0.7 0.5X
+OnHeap 22 22 0 3117.5 0.3 1.0X
+OffHeap 42 42 0 1585.2 0.6 0.5X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putNulls ((no value)) count=1: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 95.4 10.5 1.0X
-OffHeap 0 0 0 66.7 15.0 0.7X
+OnHeap 0 0 0 98.1 10.2 1.0X
+OffHeap 0 0 0 63.6 15.7 0.6X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putNulls ((no value)) count=8: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 620.7 1.6 1.0X
-OffHeap 0 0 0 478.4 2.1 0.8X
+OnHeap 0 0 0 647.9 1.5 1.0X
+OffHeap 0 0 0 304.8 3.3 0.5X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putNulls ((no value)) count=64: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 1933.2 0.5 1.0X
-OffHeap 0 0 0 1733.1 0.6 0.9X
+OnHeap 0 0 0 2074.7 0.5 1.0X
+OffHeap 0 0 0 463.4 2.2 0.2X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putNulls ((no value)) count=512: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 2596.1 0.4 1.0X
-OffHeap 0 0 0 13000.3 0.1 5.0X
+OnHeap 0 0 0 2923.2 0.3 1.0X
+OffHeap 0 0 0 14687.6 0.1 5.0X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putNulls ((no value)) count=4096: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 2 2 0 2760.9 0.4 1.0X
-OffHeap 0 0 0 34880.4 0.0 12.6X
+OnHeap 1 1 0 3093.8 0.3 1.0X
+OffHeap 0 0 0 36784.7 0.0 11.9X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putNulls ((no value)) count=65536: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 24 24 0 2785.2 0.4 1.0X
-OffHeap 2 2 0 43781.3 0.0 15.7X
+OnHeap 21 21 0 3145.9 0.3 1.0X
+OffHeap 1 1 0 49323.8 0.0 15.7X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putNotNulls ((no value)) count=1: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 98.8 10.1 1.0X
-OffHeap 0 0 0 89.6 11.2 0.9X
+OnHeap 0 0 0 101.2 9.9 1.0X
+OffHeap 0 0 0 66.2 15.1 0.7X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putNotNulls ((no value)) count=8: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 620.1 1.6 1.0X
-OffHeap 0 0 0 534.0 1.9 0.9X
+OnHeap 0 0 0 631.9 1.6 1.0X
+OffHeap 0 0 0 303.3 3.3 0.5X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putNotNulls ((no value)) count=64: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 1933.2 0.5 1.0X
-OffHeap 0 0 0 1162.5 0.9 0.6X
+OnHeap 0 0 0 2034.0 0.5 1.0X
+OffHeap 0 0 0 465.4 2.1 0.2X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putNotNulls ((no value)) count=512: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 2600.5 0.4 1.0X
-OffHeap 0 0 0 1371.0 0.7 0.5X
+OnHeap 0 0 0 2913.4 0.3 1.0X
+OffHeap 0 0 0 14185.7 0.1 4.9X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putNotNulls ((no value)) count=4096: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 2 2 0 2767.4 0.4 1.0X
-OffHeap 3 3 0 1407.1 0.7 0.5X
+OnHeap 1 1 0 3100.7 0.3 1.0X
+OffHeap 0 0 0 36768.3 0.0 11.9X
Review Comment:
Wow, 0.5X -> 11.9X?
--
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: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-57111][SQL] Use intrinsic bulk-fill APIs for putNotNulls [spark]
Posted by "viirya (via GitHub)" <gi...@apache.org>.
viirya commented on PR #56156:
URL: https://github.com/apache/spark/pull/56156#issuecomment-4566479018
@dongjoon-hyun Thanks for going through the numbers. Quick triage:
**Lines 290 / 297** — `putNotNulls count=4096 / 65536` going `0.5X -> 11.9X / 15.7X`: those are the real wins this PR is going for (the OffHeap `setMemory` path kicks in past the 128-element threshold).
**Lines 24 and 276** — I dug into these and I'm fairly sure both are GHA single-run noise rather than regressions caused by this PR:
* **Line 24, `putBooleans count=64`**: this PR doesn't touch `putBooleans` at all (that one was fixed in SPARK-57036 and is already on `master`). Both the baseline and the patched results execute exactly the same code, yet the numbers move by ~40% across the two GHA runs.
* **Line 276, `putNotNulls count=64`**: 64 is below the `SET_MEMORY_THRESHOLD = 128`, so the patched path is the inline byte-loop fallback — i.e. structurally the same per-byte loop as `master`'s baseline. Both runs execute the same byte loop here.
Sweeping the four OffHeap byte-fill methods at small counts side-by-side makes the noise pattern clearer (JDK 21, Rate M/s, OffHeap only):
| count | putBooleans baseline → patched | putBytes baseline → patched | putNulls baseline → patched | putNotNulls baseline → patched |
| ---: | --- | --- | --- | --- |
| 8 | 1633 → 1222 (−25%) | 849 → 996 (+17%) | 478 → 305 (−36%) | 534 → 303 (−43%) |
| 64 | 2550 → 1515 (−41%) | 1331 → 2531 (+90%) | 1733 → 463 (−73%) | 1162 → 465 (−60%) |
| 512 | 19325 → 20244 (+5%) | 18704 → 19733 (+5%) | 13000 → 14688 (+13%) | 1371 → **14186 (+10x)** |
| 4096 | 39185 → 40351 (+3%) | 39244 → 40089 (+2%) | 34880 → 36785 (+5%) | 1407 → **36768 (+26x)** |
`putBooleans` / `putBytes` / `putNulls` are unchanged by this PR — but small-count cells move by ±25–90% between the two GHA runs. `putNotNulls` shows the same noise floor at small counts and then a clean break above the threshold where the actual code change applies.
`putBytes count=64` going from 1331 → 2531 in the same run pair is, I think, the cleanest counter-example: same code, GHA paired the two runs onto different runner state, and the rate doubled.
So: lines 290 / 297 are real, lines 24 / 276 (and the `−25/−36/−43%` at `count=8`) are run-to-run jitter and not anything this PR introduced. Happy to re-trigger the JDK 21 benchmark a couple more times if it would help triangulate, but I don't think the underlying picture will change.
--
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: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-57111][SQL] Use intrinsic bulk-fill APIs for putNotNulls [spark]
Posted by "viirya (via GitHub)" <gi...@apache.org>.
viirya commented on PR #56156:
URL: https://github.com/apache/spark/pull/56156#issuecomment-4566539350
Thank you @dongjoon-hyun.
--
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: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-57111][SQL] Use intrinsic bulk-fill APIs for putNotNulls [spark]
Posted by "dongjoon-hyun (via GitHub)" <gi...@apache.org>.
dongjoon-hyun commented on code in PR #56156:
URL: https://github.com/apache/spark/pull/56156#discussion_r3319371667
##########
sql/core/benchmarks/WritableColumnVectorBulkFillBenchmark-jdk21-results.txt:
##########
@@ -2,298 +2,298 @@
WritableColumnVector bulk fill
================================================================================================
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBooleans (boolean) count=1: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
OnHeap 0 0 0 412.2 2.4 1.0X
-OffHeap 0 0 0 394.9 2.5 1.0X
+OffHeap 0 0 0 377.2 2.7 0.9X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBooleans (boolean) count=8: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 1520.7 0.7 1.0X
-OffHeap 0 0 0 1632.8 0.6 1.1X
+OnHeap 0 0 0 1431.9 0.7 1.0X
+OffHeap 0 0 0 1222.1 0.8 0.9X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBooleans (boolean) count=64: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 2586.6 0.4 1.0X
-OffHeap 0 0 0 2550.2 0.4 1.0X
+OnHeap 0 0 0 2803.9 0.4 1.0X
+OffHeap 0 0 0 1514.9 0.7 0.5X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBooleans (boolean) count=512: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 2701.3 0.4 1.0X
-OffHeap 0 0 0 19325.0 0.1 7.2X
+OnHeap 0 0 0 3041.6 0.3 1.0X
+OffHeap 0 0 0 20244.3 0.0 6.7X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBooleans (boolean) count=4096: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 2 2 0 2776.8 0.4 1.0X
-OffHeap 0 0 0 39185.2 0.0 14.1X
+OnHeap 1 1 0 3114.5 0.3 1.0X
+OffHeap 0 0 0 40351.2 0.0 13.0X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBooleans (boolean) count=65536: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 24 24 0 2787.9 0.4 1.0X
-OffHeap 2 2 0 44303.2 0.0 15.9X
+OnHeap 21 21 0 3146.3 0.3 1.0X
+OffHeap 1 1 0 50285.0 0.0 16.0X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBytes (byte) count=1: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 188.3 5.3 1.0X
-OffHeap 0 0 0 158.8 6.3 0.8X
+OnHeap 0 0 0 161.0 6.2 1.0X
+OffHeap 0 0 0 170.1 5.9 1.1X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBytes (byte) count=8: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 1173.6 0.9 1.0X
-OffHeap 0 0 0 849.4 1.2 0.7X
+OnHeap 0 0 0 1126.4 0.9 1.0X
+OffHeap 0 0 0 996.0 1.0 0.9X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBytes (byte) count=64: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 2480.6 0.4 1.0X
-OffHeap 0 0 0 1331.2 0.8 0.5X
+OnHeap 0 0 0 2626.1 0.4 1.0X
+OffHeap 0 0 0 2530.5 0.4 1.0X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBytes (byte) count=512: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 2676.7 0.4 1.0X
-OffHeap 0 0 0 18703.9 0.1 7.0X
+OnHeap 0 0 0 3008.2 0.3 1.0X
+OffHeap 0 0 0 19733.1 0.1 6.6X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBytes (byte) count=4096: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 2 2 0 2772.6 0.4 1.0X
-OffHeap 0 0 0 39243.8 0.0 14.2X
+OnHeap 1 1 0 3099.7 0.3 1.0X
+OffHeap 0 0 0 40088.9 0.0 12.9X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBytes (byte) count=65536: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 24 24 0 2788.2 0.4 1.0X
-OffHeap 2 2 0 44300.3 0.0 15.9X
+OnHeap 21 21 0 3143.8 0.3 1.0X
+OffHeap 1 1 0 50075.3 0.0 15.9X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putShorts (short) count=1: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 130.1 7.7 1.0X
-OffHeap 0 0 0 102.4 9.8 0.8X
+OnHeap 0 0 0 140.6 7.1 1.0X
+OffHeap 0 0 0 108.1 9.3 0.8X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putShorts (short) count=8: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 763.8 1.3 1.0X
-OffHeap 0 0 0 588.5 1.7 0.8X
+OnHeap 0 0 0 809.6 1.2 1.0X
+OffHeap 0 0 0 632.4 1.6 0.8X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putShorts (short) count=64: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 2212.3 0.5 1.0X
-OffHeap 0 0 0 1208.5 0.8 0.5X
+OnHeap 0 0 0 2358.1 0.4 1.0X
+OffHeap 0 0 0 1330.6 0.8 0.6X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putShorts (short) count=512: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 2625.8 0.4 1.0X
-OffHeap 0 0 0 1377.4 0.7 0.5X
+OnHeap 0 0 0 2947.2 0.3 1.0X
+OffHeap 0 0 0 1553.6 0.6 0.5X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putShorts (short) count=4096: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 2 2 0 2773.7 0.4 1.0X
-OffHeap 3 3 0 1407.6 0.7 0.5X
+OnHeap 1 1 0 3107.7 0.3 1.0X
+OffHeap 3 3 0 1588.8 0.6 0.5X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putShorts (short) count=65536: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 24 24 1 2794.1 0.4 1.0X
-OffHeap 48 48 1 1409.4 0.7 0.5X
+OnHeap 21 21 0 3153.4 0.3 1.0X
+OffHeap 42 42 0 1592.4 0.6 0.5X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putInts (int) count=1: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 106.0 9.4 1.0X
-OffHeap 0 0 0 79.7 12.5 0.8X
+OnHeap 0 0 0 140.8 7.1 1.0X
+OffHeap 0 0 0 77.2 13.0 0.5X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putInts (int) count=8: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 763.8 1.3 1.0X
-OffHeap 0 0 0 294.3 3.4 0.4X
+OnHeap 0 0 0 836.1 1.2 1.0X
+OffHeap 0 0 0 308.8 3.2 0.4X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putInts (int) count=64: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 2212.3 0.5 1.0X
-OffHeap 0 0 0 440.6 2.3 0.2X
+OnHeap 0 0 0 2384.8 0.4 1.0X
+OffHeap 0 0 0 472.9 2.1 0.2X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putInts (int) count=512: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 2626.6 0.4 1.0X
-OffHeap 1 1 0 401.7 2.5 0.2X
+OnHeap 0 0 0 2922.4 0.3 1.0X
+OffHeap 1 1 0 453.2 2.2 0.2X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putInts (int) count=4096: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 2 2 0 2767.7 0.4 1.0X
-OffHeap 9 9 0 473.3 2.1 0.2X
+OnHeap 1 1 0 3108.7 0.3 1.0X
+OffHeap 8 8 0 527.7 1.9 0.2X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putInts (int) count=65536: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 24 24 0 2788.4 0.4 1.0X
-OffHeap 142 142 0 473.6 2.1 0.2X
+OnHeap 21 21 0 3150.1 0.3 1.0X
+OffHeap 133 133 0 504.5 2.0 0.2X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putLongs (long) count=1: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 106.0 9.4 1.0X
-OffHeap 0 0 0 84.4 11.8 0.8X
+OnHeap 0 0 0 111.7 9.0 1.0X
+OffHeap 0 0 0 83.2 12.0 0.7X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putLongs (long) count=8: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 661.8 1.5 1.0X
-OffHeap 0 0 0 478.4 2.1 0.7X
+OnHeap 0 0 0 682.0 1.5 1.0X
+OffHeap 0 0 0 529.6 1.9 0.8X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putLongs (long) count=64: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 1974.6 0.5 1.0X
-OffHeap 0 0 0 1148.1 0.9 0.6X
+OnHeap 0 0 0 2139.1 0.5 1.0X
+OffHeap 0 0 0 1242.9 0.8 0.6X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putLongs (long) count=512: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 2605.6 0.4 1.0X
-OffHeap 0 0 0 1365.9 0.7 0.5X
+OnHeap 0 0 0 2926.1 0.3 1.0X
+OffHeap 0 0 0 1542.1 0.6 0.5X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putLongs (long) count=4096: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 2 2 0 2744.1 0.4 1.0X
-OffHeap 3 3 0 1397.2 0.7 0.5X
+OnHeap 1 1 0 3071.3 0.3 1.0X
+OffHeap 3 3 0 1579.9 0.6 0.5X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putLongs (long) count=65536: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 24 24 1 2789.8 0.4 1.0X
-OffHeap 48 49 4 1407.8 0.7 0.5X
+OnHeap 22 22 0 3117.5 0.3 1.0X
+OffHeap 42 42 0 1585.2 0.6 0.5X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putNulls ((no value)) count=1: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 95.4 10.5 1.0X
-OffHeap 0 0 0 66.7 15.0 0.7X
+OnHeap 0 0 0 98.1 10.2 1.0X
+OffHeap 0 0 0 63.6 15.7 0.6X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putNulls ((no value)) count=8: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 620.7 1.6 1.0X
-OffHeap 0 0 0 478.4 2.1 0.8X
+OnHeap 0 0 0 647.9 1.5 1.0X
+OffHeap 0 0 0 304.8 3.3 0.5X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putNulls ((no value)) count=64: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 1933.2 0.5 1.0X
-OffHeap 0 0 0 1733.1 0.6 0.9X
+OnHeap 0 0 0 2074.7 0.5 1.0X
+OffHeap 0 0 0 463.4 2.2 0.2X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putNulls ((no value)) count=512: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 2596.1 0.4 1.0X
-OffHeap 0 0 0 13000.3 0.1 5.0X
+OnHeap 0 0 0 2923.2 0.3 1.0X
+OffHeap 0 0 0 14687.6 0.1 5.0X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putNulls ((no value)) count=4096: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 2 2 0 2760.9 0.4 1.0X
-OffHeap 0 0 0 34880.4 0.0 12.6X
+OnHeap 1 1 0 3093.8 0.3 1.0X
+OffHeap 0 0 0 36784.7 0.0 11.9X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putNulls ((no value)) count=65536: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 24 24 0 2785.2 0.4 1.0X
-OffHeap 2 2 0 43781.3 0.0 15.7X
+OnHeap 21 21 0 3145.9 0.3 1.0X
+OffHeap 1 1 0 49323.8 0.0 15.7X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putNotNulls ((no value)) count=1: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 98.8 10.1 1.0X
-OffHeap 0 0 0 89.6 11.2 0.9X
+OnHeap 0 0 0 101.2 9.9 1.0X
+OffHeap 0 0 0 66.2 15.1 0.7X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putNotNulls ((no value)) count=8: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 620.1 1.6 1.0X
-OffHeap 0 0 0 534.0 1.9 0.9X
+OnHeap 0 0 0 631.9 1.6 1.0X
+OffHeap 0 0 0 303.3 3.3 0.5X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putNotNulls ((no value)) count=64: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 1933.2 0.5 1.0X
-OffHeap 0 0 0 1162.5 0.9 0.6X
+OnHeap 0 0 0 2034.0 0.5 1.0X
+OffHeap 0 0 0 465.4 2.1 0.2X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putNotNulls ((no value)) count=512: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 2600.5 0.4 1.0X
-OffHeap 0 0 0 1371.0 0.7 0.5X
+OnHeap 0 0 0 2913.4 0.3 1.0X
+OffHeap 0 0 0 14185.7 0.1 4.9X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putNotNulls ((no value)) count=4096: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 2 2 0 2767.4 0.4 1.0X
-OffHeap 3 3 0 1407.1 0.7 0.5X
+OnHeap 1 1 0 3100.7 0.3 1.0X
+OffHeap 0 0 0 36768.3 0.0 11.9X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putNotNulls ((no value)) count=65536: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 24 24 0 2791.4 0.4 1.0X
-OffHeap 48 48 0 1410.1 0.7 0.5X
+OnHeap 21 22 2 3153.0 0.3 1.0X
+OffHeap 1 1 0 49509.1 0.0 15.7X
Review Comment:
0.5X -> 15.7X.
--
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: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-57111][SQL] Use intrinsic bulk-fill APIs for putNotNulls [spark]
Posted by "viirya (via GitHub)" <gi...@apache.org>.
viirya closed pull request #56156: [SPARK-57111][SQL] Use intrinsic bulk-fill APIs for putNotNulls
URL: https://github.com/apache/spark/pull/56156
--
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: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-57111][SQL] Use intrinsic bulk-fill APIs for putNotNulls [spark]
Posted by "dongjoon-hyun (via GitHub)" <gi...@apache.org>.
dongjoon-hyun commented on code in PR #56156:
URL: https://github.com/apache/spark/pull/56156#discussion_r3319359011
##########
sql/core/benchmarks/WritableColumnVectorBulkFillBenchmark-jdk21-results.txt:
##########
@@ -2,298 +2,298 @@
WritableColumnVector bulk fill
================================================================================================
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBooleans (boolean) count=1: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
OnHeap 0 0 0 412.2 2.4 1.0X
-OffHeap 0 0 0 394.9 2.5 1.0X
+OffHeap 0 0 0 377.2 2.7 0.9X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBooleans (boolean) count=8: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 1520.7 0.7 1.0X
-OffHeap 0 0 0 1632.8 0.6 1.1X
+OnHeap 0 0 0 1431.9 0.7 1.0X
+OffHeap 0 0 0 1222.1 0.8 0.9X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBooleans (boolean) count=64: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 2586.6 0.4 1.0X
-OffHeap 0 0 0 2550.2 0.4 1.0X
+OnHeap 0 0 0 2803.9 0.4 1.0X
+OffHeap 0 0 0 1514.9 0.7 0.5X
Review Comment:
The relative ratio seems to be change. Does this mean `OffHeap` become 2x slower?
--
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: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-57111][SQL] Use intrinsic bulk-fill APIs for putNotNulls [spark]
Posted by "dongjoon-hyun (via GitHub)" <gi...@apache.org>.
dongjoon-hyun commented on code in PR #56156:
URL: https://github.com/apache/spark/pull/56156#discussion_r3319364653
##########
sql/core/benchmarks/WritableColumnVectorBulkFillBenchmark-jdk21-results.txt:
##########
@@ -2,298 +2,298 @@
WritableColumnVector bulk fill
================================================================================================
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBooleans (boolean) count=1: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
OnHeap 0 0 0 412.2 2.4 1.0X
-OffHeap 0 0 0 394.9 2.5 1.0X
+OffHeap 0 0 0 377.2 2.7 0.9X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBooleans (boolean) count=8: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 1520.7 0.7 1.0X
-OffHeap 0 0 0 1632.8 0.6 1.1X
+OnHeap 0 0 0 1431.9 0.7 1.0X
+OffHeap 0 0 0 1222.1 0.8 0.9X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBooleans (boolean) count=64: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 2586.6 0.4 1.0X
-OffHeap 0 0 0 2550.2 0.4 1.0X
+OnHeap 0 0 0 2803.9 0.4 1.0X
+OffHeap 0 0 0 1514.9 0.7 0.5X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBooleans (boolean) count=512: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 2701.3 0.4 1.0X
-OffHeap 0 0 0 19325.0 0.1 7.2X
+OnHeap 0 0 0 3041.6 0.3 1.0X
+OffHeap 0 0 0 20244.3 0.0 6.7X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBooleans (boolean) count=4096: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 2 2 0 2776.8 0.4 1.0X
-OffHeap 0 0 0 39185.2 0.0 14.1X
+OnHeap 1 1 0 3114.5 0.3 1.0X
+OffHeap 0 0 0 40351.2 0.0 13.0X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBooleans (boolean) count=65536: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 24 24 0 2787.9 0.4 1.0X
-OffHeap 2 2 0 44303.2 0.0 15.9X
+OnHeap 21 21 0 3146.3 0.3 1.0X
+OffHeap 1 1 0 50285.0 0.0 16.0X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBytes (byte) count=1: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 188.3 5.3 1.0X
-OffHeap 0 0 0 158.8 6.3 0.8X
+OnHeap 0 0 0 161.0 6.2 1.0X
+OffHeap 0 0 0 170.1 5.9 1.1X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBytes (byte) count=8: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 1173.6 0.9 1.0X
-OffHeap 0 0 0 849.4 1.2 0.7X
+OnHeap 0 0 0 1126.4 0.9 1.0X
+OffHeap 0 0 0 996.0 1.0 0.9X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBytes (byte) count=64: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 2480.6 0.4 1.0X
-OffHeap 0 0 0 1331.2 0.8 0.5X
+OnHeap 0 0 0 2626.1 0.4 1.0X
+OffHeap 0 0 0 2530.5 0.4 1.0X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBytes (byte) count=512: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 2676.7 0.4 1.0X
-OffHeap 0 0 0 18703.9 0.1 7.0X
+OnHeap 0 0 0 3008.2 0.3 1.0X
+OffHeap 0 0 0 19733.1 0.1 6.6X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBytes (byte) count=4096: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 2 2 0 2772.6 0.4 1.0X
-OffHeap 0 0 0 39243.8 0.0 14.2X
+OnHeap 1 1 0 3099.7 0.3 1.0X
+OffHeap 0 0 0 40088.9 0.0 12.9X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putBytes (byte) count=65536: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 24 24 0 2788.2 0.4 1.0X
-OffHeap 2 2 0 44300.3 0.0 15.9X
+OnHeap 21 21 0 3143.8 0.3 1.0X
+OffHeap 1 1 0 50075.3 0.0 15.9X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putShorts (short) count=1: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 130.1 7.7 1.0X
-OffHeap 0 0 0 102.4 9.8 0.8X
+OnHeap 0 0 0 140.6 7.1 1.0X
+OffHeap 0 0 0 108.1 9.3 0.8X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putShorts (short) count=8: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 763.8 1.3 1.0X
-OffHeap 0 0 0 588.5 1.7 0.8X
+OnHeap 0 0 0 809.6 1.2 1.0X
+OffHeap 0 0 0 632.4 1.6 0.8X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putShorts (short) count=64: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 2212.3 0.5 1.0X
-OffHeap 0 0 0 1208.5 0.8 0.5X
+OnHeap 0 0 0 2358.1 0.4 1.0X
+OffHeap 0 0 0 1330.6 0.8 0.6X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putShorts (short) count=512: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 2625.8 0.4 1.0X
-OffHeap 0 0 0 1377.4 0.7 0.5X
+OnHeap 0 0 0 2947.2 0.3 1.0X
+OffHeap 0 0 0 1553.6 0.6 0.5X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putShorts (short) count=4096: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 2 2 0 2773.7 0.4 1.0X
-OffHeap 3 3 0 1407.6 0.7 0.5X
+OnHeap 1 1 0 3107.7 0.3 1.0X
+OffHeap 3 3 0 1588.8 0.6 0.5X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putShorts (short) count=65536: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 24 24 1 2794.1 0.4 1.0X
-OffHeap 48 48 1 1409.4 0.7 0.5X
+OnHeap 21 21 0 3153.4 0.3 1.0X
+OffHeap 42 42 0 1592.4 0.6 0.5X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putInts (int) count=1: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 106.0 9.4 1.0X
-OffHeap 0 0 0 79.7 12.5 0.8X
+OnHeap 0 0 0 140.8 7.1 1.0X
+OffHeap 0 0 0 77.2 13.0 0.5X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putInts (int) count=8: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 763.8 1.3 1.0X
-OffHeap 0 0 0 294.3 3.4 0.4X
+OnHeap 0 0 0 836.1 1.2 1.0X
+OffHeap 0 0 0 308.8 3.2 0.4X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putInts (int) count=64: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 2212.3 0.5 1.0X
-OffHeap 0 0 0 440.6 2.3 0.2X
+OnHeap 0 0 0 2384.8 0.4 1.0X
+OffHeap 0 0 0 472.9 2.1 0.2X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putInts (int) count=512: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 2626.6 0.4 1.0X
-OffHeap 1 1 0 401.7 2.5 0.2X
+OnHeap 0 0 0 2922.4 0.3 1.0X
+OffHeap 1 1 0 453.2 2.2 0.2X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putInts (int) count=4096: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 2 2 0 2767.7 0.4 1.0X
-OffHeap 9 9 0 473.3 2.1 0.2X
+OnHeap 1 1 0 3108.7 0.3 1.0X
+OffHeap 8 8 0 527.7 1.9 0.2X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putInts (int) count=65536: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 24 24 0 2788.4 0.4 1.0X
-OffHeap 142 142 0 473.6 2.1 0.2X
+OnHeap 21 21 0 3150.1 0.3 1.0X
+OffHeap 133 133 0 504.5 2.0 0.2X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putLongs (long) count=1: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 106.0 9.4 1.0X
-OffHeap 0 0 0 84.4 11.8 0.8X
+OnHeap 0 0 0 111.7 9.0 1.0X
+OffHeap 0 0 0 83.2 12.0 0.7X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putLongs (long) count=8: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 661.8 1.5 1.0X
-OffHeap 0 0 0 478.4 2.1 0.7X
+OnHeap 0 0 0 682.0 1.5 1.0X
+OffHeap 0 0 0 529.6 1.9 0.8X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putLongs (long) count=64: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 1974.6 0.5 1.0X
-OffHeap 0 0 0 1148.1 0.9 0.6X
+OnHeap 0 0 0 2139.1 0.5 1.0X
+OffHeap 0 0 0 1242.9 0.8 0.6X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putLongs (long) count=512: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 2605.6 0.4 1.0X
-OffHeap 0 0 0 1365.9 0.7 0.5X
+OnHeap 0 0 0 2926.1 0.3 1.0X
+OffHeap 0 0 0 1542.1 0.6 0.5X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putLongs (long) count=4096: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 2 2 0 2744.1 0.4 1.0X
-OffHeap 3 3 0 1397.2 0.7 0.5X
+OnHeap 1 1 0 3071.3 0.3 1.0X
+OffHeap 3 3 0 1579.9 0.6 0.5X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putLongs (long) count=65536: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 24 24 1 2789.8 0.4 1.0X
-OffHeap 48 49 4 1407.8 0.7 0.5X
+OnHeap 22 22 0 3117.5 0.3 1.0X
+OffHeap 42 42 0 1585.2 0.6 0.5X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putNulls ((no value)) count=1: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 95.4 10.5 1.0X
-OffHeap 0 0 0 66.7 15.0 0.7X
+OnHeap 0 0 0 98.1 10.2 1.0X
+OffHeap 0 0 0 63.6 15.7 0.6X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putNulls ((no value)) count=8: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 620.7 1.6 1.0X
-OffHeap 0 0 0 478.4 2.1 0.8X
+OnHeap 0 0 0 647.9 1.5 1.0X
+OffHeap 0 0 0 304.8 3.3 0.5X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putNulls ((no value)) count=64: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 1933.2 0.5 1.0X
-OffHeap 0 0 0 1733.1 0.6 0.9X
+OnHeap 0 0 0 2074.7 0.5 1.0X
+OffHeap 0 0 0 463.4 2.2 0.2X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putNulls ((no value)) count=512: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 2596.1 0.4 1.0X
-OffHeap 0 0 0 13000.3 0.1 5.0X
+OnHeap 0 0 0 2923.2 0.3 1.0X
+OffHeap 0 0 0 14687.6 0.1 5.0X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putNulls ((no value)) count=4096: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 2 2 0 2760.9 0.4 1.0X
-OffHeap 0 0 0 34880.4 0.0 12.6X
+OnHeap 1 1 0 3093.8 0.3 1.0X
+OffHeap 0 0 0 36784.7 0.0 11.9X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putNulls ((no value)) count=65536: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 24 24 0 2785.2 0.4 1.0X
-OffHeap 2 2 0 43781.3 0.0 15.7X
+OnHeap 21 21 0 3145.9 0.3 1.0X
+OffHeap 1 1 0 49323.8 0.0 15.7X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putNotNulls ((no value)) count=1: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 98.8 10.1 1.0X
-OffHeap 0 0 0 89.6 11.2 0.9X
+OnHeap 0 0 0 101.2 9.9 1.0X
+OffHeap 0 0 0 66.2 15.1 0.7X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putNotNulls ((no value)) count=8: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 620.1 1.6 1.0X
-OffHeap 0 0 0 534.0 1.9 0.9X
+OnHeap 0 0 0 631.9 1.6 1.0X
+OffHeap 0 0 0 303.3 3.3 0.5X
-OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1013-azure
-AMD EPYC 9V74 80-Core Processor
+OpenJDK 64-Bit Server VM 21.0.11+10-LTS on Linux 6.17.0-1015-azure
+AMD EPYC 7763 64-Core Processor
putNotNulls ((no value)) count=64: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
------------------------------------------------------------------------------------------------------------------------
-OnHeap 0 0 0 1933.2 0.5 1.0X
-OffHeap 0 0 0 1162.5 0.9 0.6X
+OnHeap 0 0 0 2034.0 0.5 1.0X
+OffHeap 0 0 0 465.4 2.1 0.2X
Review Comment:
This also seems to show that `OffHeap` becomes slower than before. (0.6X -> 0.2X)
--
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: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-57111][SQL] Use intrinsic bulk-fill APIs for putNotNulls [spark]
Posted by "dongjoon-hyun (via GitHub)" <gi...@apache.org>.
dongjoon-hyun commented on PR #56156:
URL: https://github.com/apache/spark/pull/56156#issuecomment-4566519248
Feel free to merge this PR, @viirya . I'm okay to merge with AS-IS status because the big-win is clearly verified by the benchmark.
--
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: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org