Skip to content

Conversation

rjl493456442
Copy link
Member

This pull request introduces a mechanism to compress trienode history by
storing only the node diffs between consecutive versions.

  • For full nodes, only the modified children are recorded in the history;
  • For short nodes, only the modified value is stored;

If the node type has changed, or if the node is newly created or deleted, the
entire node value is stored instead.

To mitigate the overhead of reassembling nodes from diffs during history reads,
checkpoints are introduced by periodically storing full node values.

The current checkpoint interval is set to every 16 mutations, though this
parameter may be made configurable in the future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant