microsoft/oxidizer internity-v0.1.0
microsoft/oxidizer
Captured source
source ↗internity v0.1.0
Repository: microsoft/oxidizer
Tag: internity-v0.1.0
Published: 2026-07-30T02:39:34Z
Prerelease: no
Release notes: Initial release.
Added
LocalLexicon— a fast, single-threaded string interner (&mut selfinterning,
live &self resolution).
ThreadedLexicon— a concurrent string interner:&selfinterning from many
threads, a cheap Clone Arc-backed handle, fill-then-freeze.
Sym— a 4-byte,Copy, niche-optimized handle;as_u32/from_u32and
From for u32 conversions; iter() over (Sym, &str).
Reader— a sealed trait for the frozen,Send + Sync, lock-free read form,
produced by LocalLexicon::freeze / ThreadedLexicon::freeze; supports iter().
SymMap/SymSet/SymBuildHasher— fastSym-keyed maps and sets via an
identity-style hasher.
ExtendandFromIteratorfor both interners.- Generic over the
BuildHasher, defaulting to a fast non-cryptographic hasher. no_stdsupport: the crate isno_std+allocwithout the defaultstd
feature (which enables ThreadedLexicon).
- Optional
serdefeature: a string-based, interner-aware serialization model.
#[derive(SerializeIn)] / #[derive(DeserializeIn)] resolve each Sym against a Reader / interner so values round-trip as their strings (serialize a Sym to its string, deserialize a string back into a Sym), making corpora portable across processes. SerializeReader snapshots a whole frozen corpus. Sym itself has no plain Serialize/Deserialize (a raw handle is meaningless outside its lexicon), and the live ThreadedLexicon is deserialize-only — serialize the frozen Reader instead.