fallintoplace opened a new pull request, #1282:
URL: https://github.com/apache/arrow-go/pull/1282

   ## What does this PR do?
   
   - Adds an ARM64 NEON fast path for numeric to boolean casts.
   - Reuses the existing NEON `array != scalar` comparison kernel to produce 
the output bitmap.
   - Covers int32, uint32, int64, uint64, float32, and float64.
   - Keeps the scalar path for narrow integers, noasm builds, unsupported CPUs, 
and appengine.
   - Adds coverage for NaN, signed zero, infinities, sliced input, and bitmap 
tails.
   - Adds a benchmark matrix for the supported types, sizes, and zero 
distributions.
   
   ## Benchmark
   
   Apple M1 Pro, `GOMAXPROCS=1`, compared with `-tags noasm`.
   
   - 32-bit types: about 9x faster at 65K values and about 14x faster at 1M 
values.
   - 64-bit types: about 6x faster at 65K values and about 8x faster at 1M 
values.
   - Small arrays keep the same allocation count and retain the scalar tail 
path.
   
   ## Tests
   
   - `go test ./arrow/compute ./arrow/compute/internal/kernels`
   - `go test -tags noasm ./arrow/compute ./arrow/compute/internal/kernels`
   - amd64 compile check for the compute package noasm fallback


-- 
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