IntersectMBO / IntersectMBO/cardano-ledger

Avoid forcing the Ledger pulsers when serializing the Ledger State

Open
#4,191 2 comments 0 reactions 1 assignee Claimed by @TimSheard View on GitHub
Dominant language
Haskell
Stars
295
Forks
179
Avg merge
4d 7h
Merged PRs (30d)
29

Description

Storing the ledger state on disk requires forcing the pulser, which consumes a significant amount of CPU time and memory, and raises garbage collection activity significantly. As a consequence, [slot leadership checks are missed](https://github.com/IntersectMBO/ouroboros-consensus/issues/868).

Possible ways to mitigate this are:

- Store a representation of the thunks involved in the pulser.
- Drop the information used by the pulser, and restore it when we load the ledger state from disk.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.