Crate massmap

Crate massmap 

Source
Expand description

High-performance, read-optimized key-value maps persisted to massmap files.

The massmap crate provides utilities for building and querying immutable hash maps that can be memory-mapped or streamed from disk with minimal overhead. Builders take sorted or unsorted key-value iterators and produce a binary representation that can be shared between processes, while readers offer constant-time lookups backed by zero-copy IO traits.

Typical usage involves serializing an iterator with MassMapBuilder and opening the resulting file with MassMap to perform single or batched lookups.

use massmap::{MassMap, MassMapBuilder};

let entries = [
    ("apple".to_string(), 1u32),
    ("banana".to_string(), 2u32),
];
let file = std::fs::File::create("examples/fruits.massmap")?;
MassMapBuilder::default().build(file, entries.iter())?;

let file = std::fs::File::open("examples/fruits.massmap")?;
let map = MassMap::<String, u32, _>::load(file)?;
assert_eq!(map.get("banana")?, Some(2));

Structs§

MassMap
Immutable hash map backed by a serialized massmap file.
MassMapBucket
Metadata describing an individual hash bucket inside a massmap file.
MassMapBuilder
Builder type for emitting massmap files from key-value iterators.
MassMapInfo
Summary returned by MassMapBuilder::build.
MassMapMeta
Metadata serialized at the tail of every massmap file.

Traits§

MassMapReader
Trait abstracting read access to massmap files.
MassMapWriter
Trait representing positional writers suitable for massmap serialization.