Skip to content

A benchmark of some prominent C/C++ hash table implementations

Notifications You must be signed in to change notification settings

Tessil/hash-table-shootout

 
 

Repository files navigation

How to run these benchmarks:

First, some prerequisites are:

* make
* gcc and recent g++ (4.3-ish?)
* boost
* google sparsehash
* qt

Now, run:

$ make
$ python bench.py
$ python make_chart_data.py < output | python make_html.py

Your charts are now in charts.html.

You can tweak some of the values in bench.py to make it run faster at the
expense of less granular data, and you might need to tweak some of the tickSize
settings in charts-template.html.

To run the benchmark at the highest priority possible, do this:

    $ sudo nice -n-20 ionice -c1 -n0 sudo -u $USER python bench.py

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.
Forked by Tessil in 2016.
No copyright.  This work is dedicated to the public domain.
For full details, see http://creativecommons.org/publicdomain/zero/1.0/

About

A benchmark of some prominent C/C++ hash table implementations

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 59.5%
  • C++ 16.1%
  • HTML 11.7%
  • C 7.3%
  • Python 3.4%
  • Makefile 2.0%