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.

They also contain code to serialize and unserialize from disk. 
