My favorites | Sign in
Google
                
People details
Project owners:
  csilvers
Project committers:
cdibona, trowbridge.jon

An extremely memory-efficient hash_map implementation. 2 bits/entry overhead! The SparseHash library contains several hash-map implementations, including implementations that optimize for space or speed.

These hashtable implementations are similar in API to SGI's hash_map class and the tr1 unordered_map class, but with different performance characteristics. It's easy to replace hash_map or unordered_map by sparse_hash_map or dense_hash_map in C++ code.

Recent news:

9 May 2009

I've just released sparsehash 1.5.1. Hot on the heels of sparsehash 1.5, this release fixes a longstanding bug in the sparsehash code, where equal_range would always return an empty range. It now works as documented. All sparsehash users are encouraged to upgrade.

7 May 2009

I've just released sparsehash 1.5. This release introduces tr1 compatibility: I've added rehash, begin(i), and other methods that are expected to be part of the unordered_map API once tr1 in introduced. This allows sparse_hash_map, dense_hash_map, sparse_hash_set, and dense_hash_set to be (almost) drop-in replacements for unordered_map and unordered_set.

There is no need to upgrade unless you need this functionality, or need one of the other, more minor, changes described in the ChangeLog.