Prolly: content-addressed ordered maps with Git-like branching and proofs
Prolly: A content-addressed ordered map built on prolly trees
Prolly is a Rust library that implements content-addressed ordered maps on prolly trees, giving applications immutable snapshots, cheap branching, structural sharing, efficient diffs and merges, sync primitives, and verifiable key/range proofs. It offers a pluggable store, async-first engine, batch builders, secondary indexes, and proof APIs. The project includes a visualizer, extensive docs, and examples for RAG, versioned maps, and more.
All update APIs are persistent. The old `Tree` handle remains valid as long as the store still contains the nodes it references.
- timsehn
I’m the author of the linked Prolly Tree article and I launched a prolly tree visualizer last week.
Conveniently: https://www.prollytree.com
- iamwil
This is pretty neat. How long did it take for you to implement the core basics?
Upon insertion do you incrementally build the tree, or do you rebuild it from scratch?
How did you ensure the distribution of nodes was about the same with the chunker?
- rfgplk
Is there any reason why you only target sse2 for simd acceleration? You're leaving a lot of performance on the table.