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

Project Samples

Project Activity

See All Activity >

Categories

Admin Templates

License

zlib/libpng License

Follow C++ generic open address hash map

C++ generic open address hash map Web Site

Other Useful Business Software
MongoDB Atlas runs apps anywhere Icon
MongoDB Atlas runs apps anywhere

Deploy in 115+ regions with the modern database for every enterprise.

MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
Start Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of C++ generic open address hash map!

Additional Project Details

Intended Audience

Developers

Programming Language

C++

Related Categories

C++ Admin Templates

Registered

2015-06-18