turbofish-org / merk

High-performance Merkle key/value store
Apache License 2.0
226 stars 36 forks source link

Node pages #38

Open mappum opened 4 years ago

mappum commented 4 years ago

Nodes are currently stored in individual Boxes, but this means we make a heap allocation for each new node and also don't get any cache locality.

Instead, we should store nodes in pages organized by the shape of the graph (e.g. the root of that subtree is node 0), then make a reference type which stores the reference to the containing page and the node index within the page (while also somehow respecting there borrow checker rules).

MuhtasimTanmoy commented 10 months ago

Which files this implementation should affect?