This crate provides a key-value store with prefix compression, structural sharing, and powerful algebraic operations.
PathMap is optimized for large data sets and can be used efficiently in a multi-threaded environment.
This crate provides the low-level data structure for MORK
Check out the book.
The crate name pathmap was previously used by Canmi for a different project,
kvmap (formerly published as pathmap),
which is a SQL-driven key-value store.
If you are looking for Canmi’s SQL-based KVMap project, please visit:
https://github.com/canmi21/kvmap
Add the following to your Cargo.toml:
pathmap = ">=0.2.0-alpha0, <0.3.0"NOTE This is pre-release software and there is likely to be further API churn. Specify an exact version to be insulated from the churn until the 0.2.0 release.
-
nightly: Uses nightly-only features including support for a customAllocator, better SIMD optimizations, etc. Requires the nightly tool-chain. -
arena_compact: Exposes an additional read-only trie format and read-zipper type that is more efficient in memory and supports mapping a large file from disk. -
jemalloc: Enables jemalloc as the default allocator. This dramatically improves scaling for write-heavy workloads and is generally recommended. The only reason it is not the default is to avoid interference with the host application's allocator. -
zipper_tracking: Exports thezipper_trackingmodule publicly, allowing the host application to use the conflict-checking logic independently of zipper creation. -
viz: Provide APIs to inspect and visualize pathmap trie structures. Useful to observe structural sharing.
Other cargo features in this crate are intended for use by the developers of pathmap itself.