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
Typed view over a MassMapInner.
MassMapBucketMeta
Metadata describing an individual hash bucket inside a massmap file.
MassMapBuilder
Builder type for emitting massmap files from key-value iterators.
MassMapDefaultHashLoader
MassMapHashConfig
Configuration for the hash function used in a massmap.
MassMapHeader
Header serialized in raw bytes at the start of the massmap file.
MassMapInfo
Summary returned by MassMapBuilder::build.
MassMapInner
Immutable hash map backed by a serialized massmap file.
MassMapIter
Iterator over all entries in a MassMap.
MassMapMerger
MassMapMeta
Metadata serialized at the tail of every massmap file.

Traits§

MassMapHashLoader
Trait for loading a hash function configuration for use in a massmap.
MassMapReader
Trait abstracting read access to massmap files.
MassMapWriter
Trait representing positional writers suitable for massmap serialization.