You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by "fallintoplace (via GitHub)" <gi...@apache.org> on 2026/09/03 22:02:31 UTC
[PR] perf(compute): add ARM64 NEON comparisons for 8- and 16-bit integers [arrow-go]
fallintoplace opened a new pull request, #1288:
URL: https://github.com/apache/arrow-go/pull/1288
## Summary
- Add ARM64 NEON comparisons for `int8`, `uint8`, `int16`, and `uint16`.
- Cover array-array, array-scalar, and scalar-array inputs.
- Keep the existing generic fallback for tails and bitmap offsets.
- Add correctness coverage for signed and unsigned boundaries and bit packing.
- Add native benchmarks for the narrow integer types.
## Benchmark
Apple M1 Pro, Go 1.26.3. `-benchtime=50ms -count=3`. Baseline is `-tags noasm`.
| Case | NEON | Generic | Speedup |
| --- | ---: | ---: | ---: |
| int8 array-array 64K alternating | 5.01 us | 75.7 us | 15.1x |
| uint8 array-scalar 1M random50 | 68.9 us | 1.00 ms | 14.5x |
| int16 scalar-array 64K clustered50 | 4.31 us | 59.1 us | 13.7x |
| uint16 array-array 1M all | 79.7 us | 1.02 ms | 12.8x |
The benchmark matrix also covers 1K, 64K, and 1M elements, all three operand shapes, alternating, random 25/50/75%, clustered 50%, all, and none patterns.
## Tests
- `go test ./arrow/compute/internal/kernels ./arrow/compute`
- `go test -race ./arrow/compute/internal/kernels ./arrow/compute`
- `go test -tags noasm ./arrow/compute/internal/kernels ./arrow/compute`
- Darwin/amd64 and Linux/amd64 compile checks
--
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: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] perf(compute): add ARM64 NEON comparisons for 8- and 16-bit integers [arrow-go]
Posted by "zeroshade (via GitHub)" <gi...@apache.org>.
zeroshade merged PR #1288:
URL: https://github.com/apache/arrow-go/pull/1288
--
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: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org