Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
A benchmark of some prominent C/C++ hash table implementations
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Type||Name||Latest commit message||Commit time|
|Failed to load latest commit information.|
Introduction ============ You can read more about these benchmarks and how they were used at: https://hpjansson.org/blag/2018/07/24/a-hash-table-re-hash/ and https://hpjansson.org/blag/2018/08/29/what-ails-ghashtable/ How to run these benchmarks =========================== First, some prerequisites are: * make * gcc and recent g++ (4.3-ish?) * python (versions 2 and 3) * glib * boost * google sparsehash * qt * gnuplot * rustc Now, run: $ make $ ./bench.sh $ ./plot.sh Your tables and charts are now in results/. You can tweak some of the values in bench.sh to make it run faster at the expense of less granular data. To run the benchmark at the highest priority possible, do this: $ sudo nice -n-20 ionice -c1 -n0 sudo -u $USER ./bench.sh You might also want to disable any swap files/partitions so that swapping doesn't influence performance. (The programs will just die if they try to allocate too much memory.) Copyright Information ===================== Written by Nick Welch in 2010. Modified by Hans Petter Jansson in 2018. No copyright. This work is dedicated to the public domain. For full details, see http://creativecommons.org/publicdomain/zero/1.0/ The included khash implementation in src/khash-impl.h is copyright (c) by Attractive Chaos <email@example.com> and released under the MIT license. See that file for more information.