{"id":27185882,"url":"https://github.com/inv2004/rust-async-kv-benchmarks","last_synced_at":"2026-03-07T07:30:53.061Z","repository":{"id":161015369,"uuid":"197391215","full_name":"inv2004/rust-async-kv-benchmarks","owner":"inv2004","description":"Comparison performance of different async frameworks for key-value","archived":false,"fork":false,"pushed_at":"2019-08-10T01:15:37.000Z","size":93,"stargazers_count":7,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-21T08:13:57.823Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/inv2004.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-07-17T13:05:01.000Z","updated_at":"2023-10-17T11:16:16.000Z","dependencies_parsed_at":null,"dependency_job_id":"5f598627-d50c-4f14-b631-60e3fb562845","html_url":"https://github.com/inv2004/rust-async-kv-benchmarks","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/inv2004/rust-async-kv-benchmarks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inv2004%2Frust-async-kv-benchmarks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inv2004%2Frust-async-kv-benchmarks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inv2004%2Frust-async-kv-benchmarks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inv2004%2Frust-async-kv-benchmarks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/inv2004","download_url":"https://codeload.github.com/inv2004/rust-async-kv-benchmarks/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inv2004%2Frust-async-kv-benchmarks/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30209712,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-07T05:23:27.321Z","status":"ssl_error","status_checked_at":"2026-03-07T05:00:17.256Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-04-09T17:55:16.375Z","updated_at":"2026-03-07T07:30:53.056Z","avatar_url":"https://github.com/inv2004.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rust-async-kv-benchmarks\n\n**for patched wrk2 only https://github.com/inv2004/wrk2**\n\n- kv_actix_rwlock_async. actix-web with RwLock on HashMap, to_async.\n- kv_actix_cmap_async. actix-web with CHashMap, to_async.\n- kv_actix_cmap. actix-web with CHashMap.\n- kv_actix_msg. actix-web with Message into sync actor.\n- kv_actix_rwlock. actix-web with RwLock on HashMap\n- kv_cmap_multi. hyper with CHashMap.\n- kv_cmap_single. hyper on current_thread with CHashMap.\n- kv_refcell_single. hyper on current_thread with HashMap.\n- kv_rwlock_multi. hyper with RwLock on HashMap.\n- kv_thr_msg. hyper with crossbeam-channels messages\n\n### scaleway:\nCPU: AMD EPYC 7401P 24-Core Processor. 4 Cores.\n\n```bash\nwrk -t4 -c256 -d10s -R200000 http://127.0.0.1:9999 -s test.lua\n```\n\n| test               | wrk2 Requests/sec |\n| ------------------ | -------: |\n| actix_cmap         | 84830.59 |\n| cmap_multi         | 72856.85 |\n| actix_cmap_async   | 68179.46 |\n| actix_rwlock_async | 66899.86 |\n| actix_rwlock       | 66798.22 |\n| rwlock_multi       | 64817.87 |\n| actix_msg          | 45251.34 |\n| refcell_single     | 43050.81 |\n| cmap_single        | 40023.77 |\n| thr_msg            | not tested yet|\n\n### pc\nCPU: i5-7500. 4 cores\n\n```bash\nwrk -t2 -c8 -d5s -R100000 http://127.0.0.1:9999 -s test.lua\n```\n\n| test           | wrk2 Requests/sec | \n| -------------- | ----------------: |\n| refcell_single | 45594.26          |\n| cmap_single    | 45549.61          |\n| rwlock_multi   | 39976.96          |\n| cmap_multi     | 39814.56          |\n| actix_cmap     | 32064.03          |\n| actix_rwlock   | 31464.54          |\n| thr_msg        | 31139.14          |\n| actix_async    | 30069.73          |\n| actix_msg      | 25091.83          |\n\nTODO:\n- [x] remove RwLock from single\n- [x] separate threads for PUT/GET\n- [x] do not PUT-GET the same number (for cmap)\n- [x] actix with Message\n- [x] hyper with channels\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finv2004%2Frust-async-kv-benchmarks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finv2004%2Frust-async-kv-benchmarks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finv2004%2Frust-async-kv-benchmarks/lists"}