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/08/27 12:51:01 UTC
[PR] perf(compute): share logical row maps across aligned sorts [arrow-go]
fallintoplace opened a new pull request, #1234:
URL: https://github.com/apache/arrow-go/pull/1234
### Rationale for this change
Aligned multi-key sorts build the same `logicalRowMap` once per physical sort
column. The map only depends on the shared chunk boundaries, so the extra maps
use memory without adding any lookup information.
### What changes are included in this PR?
- Detect aligned chunk boundaries before creating sort comparators.
- Build one `logicalRowMap` for aligned multi-key columns.
- Pass that map to each physical comparator.
- Keep the existing per-column maps for misaligned and single-key sorts.
### Benchmark
This uses the existing `BenchmarkSortIndices_Int64_TwoKeys` benchmark with
65,536 rows and 64 aligned chunks.
Median of three runs on an Apple M1 Pro with Go 1.26.3:
| Case | Before | After |
| --- | ---: | ---: |
| Two aligned int64 keys | 12.65 ms/op, 3,165,232 B/op, 12 allocs/op | 12.39 ms/op, 2,116,656 B/op, 11 allocs/op |
Command:
```bash
go test ./arrow/compute/internal/kernels -run '^$' -bench '^BenchmarkSortIndices_Int64_TwoKeys$' -benchmem -benchtime=200ms -count=3 -cpu=1
```
### Are these changes tested?
- `go test ./arrow/compute/internal/kernels -count=1`
- `go test ./arrow/compute -count=1`
- `go test -race ./arrow/compute/internal/kernels -count=1`
- `go vet -composites=false ./arrow/compute/internal/kernels`
--
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): share logical row maps across aligned sorts [arrow-go]
Posted by "zeroshade (via GitHub)" <gi...@apache.org>.
zeroshade merged PR #1234:
URL: https://github.com/apache/arrow-go/pull/1234
--
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