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: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
