diaevd / rust-async-kv-benchmarks

Comparison performance of different async frameworks for key-value

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

rust-async-kv-benchmarks

  • kv_actix_rwlock: actix-web. Uses RwLock for Context.
  • kv_actix_cmap: actix-web. Uses RwLock for Context.
  • kv_rwlock_multi: hyper multithreaded. Share via RwLock.
  • kv_refcell_single: hyper singlethreaded.
  • kv_cmap_multi: hyper multi. CHashMap for cache.
  • kv_cmap_single: hyper single. CHashMap for cache.

CPU: i5-7500. 4 cores.

wrk -t2 -c8 -d5s -R100000 http://127.0.0.1:9999 -s test.lua
test wrk2 Requests/sec
actix_rwlock 31464.54
actix_cmap 32064.03
rwlock_multi 39976.96
refcell_single 45594.26
cmap_multi 39814.56
cmap_single 45549.61

TODO:

  • remove RwLock from single
  • separate threads for PUT/GET
  • do not PUT-GET the same number (for cmap)
  • thread-pool variant
  • actix with Message
  • hyper with channels

About

Comparison performance of different async frameworks for key-value

License:GNU General Public License v3.0


Languages

Language:Rust 97.1%Language:Lua 2.9%