Changes for version 0.01 - 2026-03-14
- 10 type-specialized shared-memory hash map variants (II, SS, SI, IS, I16, I32, I16S, I32S, SI16, SI32)
- File-backed mmap(MAP_SHARED) for cross-process data sharing
- Futex-based read-write lock with seqlock for lock-free reads
- Lock-free atomic counters (incr/decr under read lock)
- Elastic hash table capacity (automatic grow/shrink)
- Arena allocator with free-list reclamation for string storage
- Keyword API via XS::Parse::Keyword
- Opt-in LRU eviction and per-key TTL (zero cost when disabled)
- Removal-safe iteration with deferred resize/compact
- Cursor API: independent iterators with seek, reset, nesting
- Stale lock recovery via PID tracking (auto-recover after 2s timeout)
- Diagnostic error messages from constructor
- Bundled xxHash 0.8.3 (XXH3_64bits) for hashing
Modules
Type-specialized shared-memory hash maps for multiprocess access
Provides
in lib/Data/HashMap/Shared/I16.pm
in lib/Data/HashMap/Shared/I16S.pm
in lib/Data/HashMap/Shared/I32.pm
in lib/Data/HashMap/Shared/I32S.pm
in lib/Data/HashMap/Shared/II.pm
in lib/Data/HashMap/Shared/IS.pm
in lib/Data/HashMap/Shared/SI.pm
in lib/Data/HashMap/Shared/SI16.pm
in lib/Data/HashMap/Shared/SI32.pm
in lib/Data/HashMap/Shared/SS.pm