#btree-map #collection #experiment #memory #insert #serde #unsafe

btree_experiment

Crate implements a BTreeMap similar to std::collections::BTreeMap

102 releases

new 0.1.106 May 17, 2024
0.1.105 May 17, 2024
0.1.91 Apr 29, 2024
0.1.39 Mar 31, 2024

#314 in Data structures

Download history 1246/week @ 2024-03-22 2675/week @ 2024-03-29 1793/week @ 2024-04-05 1202/week @ 2024-04-12 1444/week @ 2024-04-19 935/week @ 2024-04-26 708/week @ 2024-05-03 680/week @ 2024-05-10

3,941 downloads per month

MIT/Apache

180KB
5K SLoC

Crate has moved to

https://crates.io/crates/pstd


lib.rs:

This crate implements a BTreeMap similar to std::collections::BTreeMap.

The standard BtreeMap can use up to twice as much memory as required, this BTreeMap only allocates what is needed ( or a little more to avoid allocating too often ), so memory use can be up to 50% less.

Example

    use btree_experiment::BTreeMap;
    let mut mymap = BTreeMap::new();
    mymap.insert("England", "London");
    mymap.insert("France", "Paris");
    println!("The capital of France is {}", mymap["France"]);

Features

This crate supports the following cargo features:

  • serde : enables serialisation of BTreeMap via serde crate.
  • unsafe-optim : uses unsafe code for extra optimisation.

Dependencies

~240KB