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
Custom VMs From 1 to 96 vCPUs With 99.95% Uptime Icon
Custom VMs From 1 to 96 vCPUs With 99.95% Uptime

General-purpose, compute-optimized, or GPU/TPU-accelerated. Built to your exact specs.

Live migration and automatic failover keep workloads online through maintenance. One free e2-micro VM every month.
Try 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