You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@iceberg.apache.org by "fallintoplace (via GitHub)" <gi...@apache.org> on 2026/10/07 21:55:13 UTC
[PR] perf(table): limit parquet row-group stats to filter columns [iceberg-go]
fallintoplace opened a new pull request, #2156:
URL: https://github.com/apache/iceberg-go/pull/2156
**What**
- Limit Parquet row-group stats to columns used by the pruning filter.
**Why**
- Wide projections currently inspect stats for every read column, even when the filter uses only a few.
**Implementation**
- Track pruning field IDs in compiled filter plans.
- Resolve them to Parquet column indices once per file.
- Keep nil `StatsFieldIDs` as the all-read-columns fallback.
**Benchmark**
`go test ./table -run '^$' -bench '^BenchmarkParquetRowGroupStatsFilterColumns$' -benchmem -benchtime=300ms -count=5 -cpu=1`
Stats evaluator, 1,024 row groups; Go 1.26.3 on Apple M1 Pro. Median of five 300 ms samples.
| Projected / filter columns | All read (ms/op) | Filter only (ms/op) | Speedup |
| --- | ---: | ---: | ---: |
| 32 / 1 | 46.81 | 1.96 | 23.9× |
| 32 / 4 | 47.23 | 7.26 | 6.5× |
| 128 / 1 | 183.11 | 1.99 | 92.0× |
| 128 / 4 | 182.77 | 7.26 | 25.2× |
| 128 / 128 | 218.34 | 218.79 | 1.00× (neutral) |
For 128 projected columns and 1 filter column, allocations fell from 2,233,361 to 22,528 per iteration.
--
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: issues-unsubscribe@iceberg.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@iceberg.apache.org
For additional commands, e-mail: issues-help@iceberg.apache.org
Re: [PR] perf(table): limit parquet row-group stats to filter columns [iceberg-go]
Posted by "laskoviymishka (via GitHub)" <gi...@apache.org>.
laskoviymishka merged PR #2156:
URL: https://github.com/apache/iceberg-go/pull/2156
--
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: issues-unsubscribe@iceberg.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@iceberg.apache.org
For additional commands, e-mail: issues-help@iceberg.apache.org