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]

Reply via email to