Skip to content

Map and set revamp, vast performance improvement

Compare
Choose a tag to compare
@JacksonAllan JacksonAllan released this 18 Mar 00:22
· 39 commits to main since this release

This version integrates Verstable, replacing the previous Robin Hood hash-table implementation of maps and sets. The new map and set vastly outperform the old ones under most conditions, as shown by the following benchmarks recorded with a max load factor of 0.875:

uint32_uint32_insert_nonexisting
uint64_struct448_insert_nonexisting
cstring_uint64_insert_nonexisting
uint32_uint32_insert_existing
uint64_struct448_insert_existing
cstring_uint64_insert_existing
uint32_uint32_get_existing
uint64_struct448_get_existing
cstring_uint64_get_existing
uint64_struct448_get_nonexisting
uint32_uint32_get_nonexisting
cstring_uint64_get_nonexisting
uint32_uint32_erase_existing
uint64_struct448_erase_existing
cstring_uint64_erase_existing
uint32_uint32_erase_nonexisting
uint64_struct448_erase_nonexisting
cstring_uint64_erase_nonexisting
uint32_uint32_iteration
uint64_struct448_iteration
cstring_uint64_iteration