The advantage of this project is that you can use this hash map by including only 2 files to your project. (or 1 if you want by cut/paste pool.hpp content directly in hashmap.hpp if you want).
It is template and doesn't require that your contained types are PODs, it doesn't require to set delete_key and empty_key. Unlike google densemap.
It is mostly "C++ unordered_map" standard conformant and if you download it, you'll find a visual studio project, or a CMakeLists.txt that integrates the test suite from GCC for unordered_map. Which this map passes.
Some bench:
== 1 million int pushes ==
*open address: 275.852 ms
*reserved openaddr: 110.268 ms
std unordered: 277.544 ms
== 100k random erasures ==
*openaddr: 8.70804 ms
std unordered: 20.6305 ms
== 1M iteration ==
*openaddr: 185.528 ms
std unordered: 1010.53 ms
== 50k finds in 1M ==
*openaddr: 4.24 ms
std unordered: 10.44 ms
C++ generic open address hash map
Simple oaht template class
Status: Beta
Brought to you by:
lightness
Downloads:
0 This Week
Windows
Mac
Linux
BSD
ChromeOS