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]

Reply via email to