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/08/28 14:02:45 UTC
[PR] perf(table): avoid schema clones in remote wildcard projection [iceberg-go]
fallintoplace opened a new pull request, #1944:
URL: https://github.com/apache/iceberg-go/pull/1944
## Summary
- Use `Schema.NumFields()` for the projected ID slice capacity.
- Avoid the extra defensive deep clone from `Schema.Fields()`.
- Keep the existing wildcard traversal and nested collection projection rules.
- Add a focused remote wildcard projection benchmark.
## Benchmark
Median of 5 runs on an Apple M1 Pro with `GOMAXPROCS=1`. The benchmark uses nested structs, lists, maps, and default values.
Command:
```text
GOMAXPROCS=1 go test -run '^$' -bench '^BenchmarkRemotePlanningSelectedFields$' -benchmem -benchtime=500ms -count=5 ./table
```
| Top-level fields | Before | After | Speedup |
| --- | ---: | ---: | ---: |
| 100 | 152 us/op | 76.6 us/op | 1.99x |
| 1,000 | 1.43 ms/op | 750 us/op | 1.91x |
| 5,000 | 6.78 ms/op | 3.63 ms/op | 1.87x |
Memory dropped by about 47% and allocations dropped by about 50%:
- 5,000 fields: 8.52 MB/op and 60,005 allocs/op -> 4.49 MB/op and 30,005 allocs/op
## Checks
- `go test . -count=1`
- `go test ./table/... -count=1`
- All non-cloud packages pass
- `go vet ./...`
--
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): avoid schema clones in remote wildcard projection [iceberg-go]
Posted by "zeroshade (via GitHub)" <gi...@apache.org>.
zeroshade merged PR #1944:
URL: https://github.com/apache/iceberg-go/pull/1944
--
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