jonhoo / jonhoo/flurry

Implement and run a "serious" concurrent hash table benchmarking suite

Open
#30 4 comments 0 reactions 0 assignees View on GitHub
enhancement help wanted question
Dominant language
Rust
Stars
580
Forks
50
PR merge metrics
No merged PRs in 30d

Description

It is easy to write simple benchmarks for concurrent hash tables. But when these data-structures hit real world data is when we learn how they truly perform. There has been much research on concurrent hash tables, and how to benchmark them, so let's build a benchmark (or set of benchmarks rather) inspired by that work! We can then run that benchmark against the various concurrent map implementations out there in Rust world, and (hopefully) get some useful data out of them.

I'm hoping this thread can act as a staging ground for designing this benchmark, and that it can then be forked off into its own stand-alone project.

Work of note to get started (please let me know if you know of others):

- https://www.aimlab.org/haochen/papers/fgcs18-hash.pdf (§3.3)
- https://arxiv.org/pdf/1601.04017.pdf (§8.3, and §8.4 "Mixed Insertions and Finds" in particular)
- The [libcuckoo universal benchmark](https://github.com/efficient/libcuckoo/tree/master/tests/universal-benchmark)
- https://www.usenix.org/legacy/event/atc11/tech/final_files/Triplett.pdf (§6.1)
- [redis-benchmark](https://redis.io/topics/benchmarks)

/cc @xacrimon

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.