fallintoplace opened a new pull request, #1933: URL: https://github.com/apache/iceberg-go/pull/1933
## Summary - **Reuse the top-level raw JSON map** in ParseMetadataBytes. - Use the same map for format-version detection, legacy partition field ID normalization, and required spec-id checks. - Keep the version-specific metadata decode and existing helper behavior unchanged. - Added coverage for v1 legacy specs, v2 spec lists, and missing/null spec-id values. ๐งช ## Benchmark Local Apple M1 Pro. The fixture uses 1, 32, and 256 schemas/specs with 10, 1,000, and 10,000 snapshots. | Case | Before ns/op | After ns/op | ns/op change | Before B/op | After B/op | | --- | ---: | ---: | ---: | ---: | ---: | | 1 schema, 1 spec, 10 snapshots | 151,089 | 107,116 | **-29.1%** | 39,381 | 32,994 | | 32 schemas, 32 specs, 1,000 snapshots | 9,543,420 | 7,189,167 | **-24.7%** | 2,127,197 | 1,887,373 | | 256 schemas, 256 specs, 10,000 snapshots | 95,382,604 | 69,582,812 | **-27.1%** | 22,700,280 | 20,409,368 | **Commands:** - go test ./table -run BenchmarkParseMetadataBytes -benchmem -benchtime=100ms -count=1 - go test ./table -count=1 - go test ./... -run no_such_test -count=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]
