running 22 tests
test a_new_btreemap ... bench: 1 ns/iter (+/- 0)
test a_new_hashbrown ... bench: 0 ns/iter (+/- 0)
test a_new_hashmap ... bench: 3 ns/iter (+/- 0)
test a_new_indexmap ... bench: 3 ns/iter (+/- 0)
test b_insert_btreemap ... bench: 60,621,040 ns/iter (+/- 15,248,541)
test b_insert_hashbrown ... bench: 56,344,580 ns/iter (+/- 1,773,809)
test b_insert_hashmap ... bench: 58,881,920 ns/iter (+/- 2,330,201)
test b_insert_indexmap ... bench: 42,826,040 ns/iter (+/- 1,214,166)
test c_clone_btreemap ... bench: 41,720,370 ns/iter (+/- 1,932,831)
test c_clone_hashbrown ... bench: 60,450,380 ns/iter (+/- 1,895,384)
test c_clone_hashmap ... bench: 60,734,640 ns/iter (+/- 1,530,737)
test c_clone_indexmap ... bench: 39,500,870 ns/iter (+/- 1,026,400)
test d_for_each_btreemap ... bench: 8,487,320 ns/iter (+/- 112,188)
test d_for_each_hashbrown ... bench: 9,733,745 ns/iter (+/- 344,671)
test d_for_each_hashmap ... bench: 9,800,705 ns/iter (+/- 664,072)
test d_for_each_indexmap ... bench: 7,427,390 ns/iter (+/- 177,412)
test e_find_btreemap ... bench: 16 ns/iter (+/- 1)
test e_find_hashbrown ... bench: 15 ns/iter (+/- 2)
test e_find_hashmap ... bench: 15 ns/iter (+/- 0)
test e_find_indexmap ... bench: 13 ns/iter (+/- 0)
test f_rfind_btreemap ... bench: 23 ns/iter (+/- 1)
test f_rfind_indexmap ... bench: 14 ns/iter (+/- 0)
test result: ok. 0 passed; 0 failed; 0 ignored; 22 measured; 0 filtered out; finished in 170.61s
I think it would be nice to show some benchmark results for people looking for the best hash table for their project.
With benchmarks like
removewe have to clone the maps and that falsifies the result, which is why I didn't include them.System
Config
Source Code
Benchmark Results (updated on 07/17/2023)
🗣 How Do You Run This Benchmark?
Copy the
Source CodeintoPATH_TO_PROJECT\benches\test.rsand replacePATH_TO_PROJECT\Cargo.tomlwithConfig. Then runcargo benchin your console