Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lighter-weight codec for the ledger state file on disk #4634

Open
nfrisby opened this issue Sep 17, 2024 · 0 comments
Open

Lighter-weight codec for the ledger state file on disk #4634

nfrisby opened this issue Sep 17, 2024 · 0 comments
Assignees
Labels
🚧 work in progress 💳 technical-debt Issues related to technical debt we introduced 💾 disk-storage 🤝 consensus Tickets that the fine folks over at ouroboros-consensus want to keep track of performance serialization Anything that affects serialization of ledger types 📐 design

Comments

@nfrisby
Copy link
Contributor

nfrisby commented Sep 17, 2024

While investigating Issue IntersectMBO/ouroboros-consensus#868, it became apparent that part of the problem is simply how much is allocated when serializing the ledger state. The UTxO map is a notable outlier, but it's not the only non-trivial cost in there (~70 seconds wall clock with the UTxO versus ~20 seconds wall clock with an empty UTxO map).

@lehins mentioned an idea to use a "raw" byte strings (ie CBOR major type 2) instead of the fully granular CBOR encoding of each individual UTxO. This is unacceptable for on-chain/on-the-wire data, but it's fine for the local file that persists the ledger state between the node's executions.

@nfrisby nfrisby added 🚧 work in progress 💳 technical-debt Issues related to technical debt we introduced 📐 design 🤝 consensus Tickets that the fine folks over at ouroboros-consensus want to keep track of 💾 disk-storage performance serialization Anything that affects serialization of ledger types labels Sep 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🚧 work in progress 💳 technical-debt Issues related to technical debt we introduced 💾 disk-storage 🤝 consensus Tickets that the fine folks over at ouroboros-consensus want to keep track of performance serialization Anything that affects serialization of ledger types 📐 design
Projects
None yet
Development

No branches or pull requests

2 participants