try opt
f
ng
towards better iterators
test hashmap::bench::find_existing    ... bench:     47054 ns/iter (+/- 1563)
test hashmap::bench::find_nonexisting ... bench:     47186 ns/iter (+/- 1535)
test hashmap::bench::find_pop_insert  ... bench:       232 ns/iter (+/- 3)
test hashmap::bench::hashmap_as_queue ... bench:       133 ns/iter (+/- 15)
test hashmap::bench::insert           ... bench:       214 ns/iter (+/- 12)
test hashmap::bench::new_drop         ... bench:       118 ns/iter (+/- 6)
test hashmap::bench::new_insert_drop  ... bench:       231 ns/iter (+/- 25)
more code uses BucketNg
test hashmap::bench::find_existing    ... bench:     46863 ns/iter (+/- 3600)
test hashmap::bench::find_nonexisting ... bench:     47387 ns/iter (+/- 1029)
test hashmap::bench::find_pop_insert  ... bench:       231 ns/iter (+/- 28)
test hashmap::bench::hashmap_as_queue ... bench:       129 ns/iter (+/- 2)
test hashmap::bench::insert           ... bench:       238 ns/iter (+/- 25)
test hashmap::bench::new_drop         ... bench:       120 ns/iter (+/- 69)
test hashmap::bench::new_insert_drop  ... bench:       233 ns/iter (+/- 27)
towards clearer code
works
test hashmap::bench::find_existing    ... bench:     46663 ns/iter (+/- 3134)
test hashmap::bench::find_nonexisting ... bench:     47874 ns/iter (+/- 2074)
test hashmap::bench::find_pop_insert  ... bench:       234 ns/iter (+/- 2)
test hashmap::bench::hashmap_as_queue ... bench:       134 ns/iter (+/- 3)
test hashmap::bench::insert           ... bench:       221 ns/iter (+/- 160)
test hashmap::bench::new_drop         ... bench:       113 ns/iter (+/- 8)
test hashmap::bench::new_insert_drop  ... bench:       233 ns/iter (+/- 10)
refactor shift
Bucket::begin
Split the code into modules
separate robin_hood fn. some benchmarks started undesirable inlining.
test hashmap::bench::find_existing    ... bench:     51190 ns/iter (+/- 1524)
test hashmap::bench::find_nonexisting ... bench:     17366 ns/iter (+/- 103)
test hashmap::bench::find_pop_insert  ... bench:       200 ns/iter (+/- 28)
test hashmap::bench::hashmap_as_queue ... bench:       140 ns/iter (+/- 5)
test hashmap::bench::insert           ... bench:       223 ns/iter (+/- 77)
test hashmap::bench::new_drop         ... bench:       123 ns/iter (+/- 1)
test hashmap::bench::new_insert_drop  ... bench:       235 ns/iter (+/- 16)
opt insert_or_update_with