...
The former has the advantage of having more knowledge about the operations performed, so less fewer full replacements have to be made.
OTH, places placing journals in entries allows to:
- Bind journal lifecycle to entry/version
- Avoid extra hash lookup
- Easily access state and track changes
These properties allow accessing the state without adding significant complexity or storing updates which would increase memory overhead. Therefore, placing journals in entries was chosen.
List state
For a list, if only appends were made, it’s enough to store its length right after the previous snapshot to get the added elements. Otherwise, if it was truncated for example, the full list is snapshotted.
...