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]
