bitmaptrie 0.9.0

Bitmapped vector trie (not persistent)
docs.rs failed to build bitmaptrie-0.9.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: bitmaptrie-2.0.0

A bitmapped vector trie for Rust

Build Status

This is a non-persistent bitmapped vector trie with word-size indexing: thus on a 32-bit system the indexing is 32 bits; on 64-bit it is 64 bits.

It essentially behaves as an unbounded (except by the word-size index) sparse vector.

Performance is good for spatially-close accesses but deteriorates for random spatially-sparse accesses. Performance improves significantly if compiled with popcnt and lzcnt instructions.

The last access path is cached to accelerate the next nearby access.

Multi-path-cache methods are available for accelerating read-only accesses at multiple positions but the current design causes write performance to degrade.

Usage

extern crate bitmaptrie;
use bitmaptrie::Trie;
  
let mut trie: Trie<String> = Trie::new();

trie.set(123usize, "testing 123".to_owned());

TODO

  • implement Index and IndexMut traits