Skip to content

dryman/hash_bench

Repository files navigation

Hash Table Benchmark

INSTALL

Dependencies:

autoreconf -vif
CFLAGS="-O3" CXXFLAGS="-O3" ./configure
make

SYNOPSIS

 ± ./hash_bench -h
usage: ./hash_bench [-n power_of_2] [-r repeat] [-k keytype]
  [-i impl] [-m mode] [-f file] [-p] [-h]
Options:
  -n num     Number of elements measured in power of 2.
             -n 20 => run 2^20 = 1 million elements.
             defaults to 20
  -r repeat  Repeat the benchmar for `repeat` times.
  -k keytype keytype = short_string, mid_string, long_string or
             long_int
             short_string: 6 bytes, mid_string: 32 bytes,
             long_string: 256 bytes, long_int: 8 bytes
             For now only robin_hood hash supports long_int benchmark
  -i impl    impl = robin_hood, dense_hash_map, sparse_hash_map,
                    std_unordered_map, cuckoo, khash
  -m mode    mode = in_memory, serialize, deserialize, or de_no_cache
             in_memory: benchmark hash map creation time and query time
               supported impl: all
             serialize: hash_map creation time and serialization time
               supported impl: robin_hood, sparse_hash_map
                               std_unordered_map
             deserialize: deserialize hash map then query for 2^n times
               supported impl: robin_hood, sparse_hash_map
                               std_unordered_map
             de_no_cache: measures bare deserialization performance
               supported impl: robin_hood
  -p pause   Pause between insertion and query so that we have time to
             capture the memory it use.
  -f file    file used in serialize, deserialize and deserialize_cached
             mode.
  -h         print help.

LICENSE and atributions

  • OPIC robin hood hash is released by Felix Chern, under LGPL v3.
  • dense hash map and sparse hash map were release by google, Copyright (c) 2005, Google Inc. Under 3 clause BSD license.
  • libcuckoo: Copyright (C) 2013, Carnegie Mellon University and Intel Corporation. Under apache license 2.0.
  • klib/khash is distributed under MIT/X11 license.

About

Popular hash table implementation benchmarks

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published