fallintoplace opened a new pull request, #2203: URL: https://github.com/apache/iceberg-go/pull/2203
**What** - Bound the output task slice capacity when Parquet row groups are coalesced. **Why** - Avoid reserving one task slot for every split offset. **Implementation** - Size capacity from file size and target split size. - This complements #2118, which avoids copying split offsets. **Benchmark** - Base 4fdbf65ef234b8715dbd2459d2851b7c6f576257, head 921ee7f63f40081f50b0b0fe3fb6bdf1b84a1df7. - Go 1.26.3, Apple M1 Pro, median of 5 one-second samples, CPU 1. | Workload | ns/op | B/op | allocs/op | | --- | ---: | ---: | ---: | | 1,024 × 1 MiB, coalesced | 11,145 → 6,356 (1.75x) | 147,456 → 10,880 | 2 → 2 | | 4,096 × 1 MiB, coalesced | 35,477 → 24,119 (1.47x) | 589,824 → 42,240 | 2 → 2 | | 4,096 × 96 MiB, not coalesced | 165,949 → 161,507 (1.03x) | 589,824 → 589,824 | 2 → 2 | Command: `go test ./table -run '^$' -bench '^BenchmarkSplitParquetScanTask$' -benchmem -benchtime=1s -count=5 -cpu=1` -- 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
