xbattlax commented on issue #669: URL: https://github.com/apache/iceberg-rust/issues/669#issuecomment-3753751588
## Summary of Decimal Precision Options The Iceberg spec requires **38 digits** precision. Our current `rust_decimal` only supports 28 digits. ### Candidates **decimal-rs** - Exactly 38 digits, stack-based, but last release Apr 2023. **bigdecimal** - Unlimited precision but uses heap allocation (BigInt internally), slower for hot paths. **fastnum** - Exactly 38 digits, stack-based (128-bit + 64-bit flags), zero heap allocation, faster than rust_decimal (10-84 ns vs 51-133 ns for add/sub), actively maintained (v0.7.4, Dec 2025), serde support. ### Recommendation **fastnum** - Matches Iceberg spec exactly, best performance, no heap allocation, actively maintained. Happy to work on this if there's agreement on the approach. -- 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]
