{"id":18621295,"url":"https://github.com/yiling-j/cacheme-benchmark","last_synced_at":"2026-02-04T00:35:13.375Z","repository":{"id":65375353,"uuid":"590340641","full_name":"Yiling-J/cacheme-benchmark","owner":"Yiling-J","description":"cacheme benchmarks","archived":false,"fork":false,"pushed_at":"2023-04-17T01:57:06.000Z","size":801,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-06T10:52:47.644Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Yiling-J.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2023-01-18T07:25:33.000Z","updated_at":"2024-11-04T10:15:06.000Z","dependencies_parsed_at":"2024-11-07T04:10:29.783Z","dependency_job_id":"8cd3d9bd-cfab-4205-9646-83254f2ca0ab","html_url":"https://github.com/Yiling-J/cacheme-benchmark","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Yiling-J/cacheme-benchmark","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yiling-J%2Fcacheme-benchmark","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yiling-J%2Fcacheme-benchmark/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yiling-J%2Fcacheme-benchmark/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yiling-J%2Fcacheme-benchmark/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Yiling-J","download_url":"https://codeload.github.com/Yiling-J/cacheme-benchmark/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yiling-J%2Fcacheme-benchmark/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29062701,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-04T00:26:14.114Z","status":"ssl_error","status_checked_at":"2026-02-04T00:23:06.435Z","response_time":96,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":"2024-11-07T04:10:21.099Z","updated_at":"2026-02-04T00:35:13.340Z","avatar_url":"https://github.com/Yiling-J.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# cacheme-benchmark\nGithub pages are generated automatically using [github-action-benchmark](https://github.com/benchmark-action/github-action-benchmark). Source code of all benchmarks can be found here [benchmark_test.py](https://github.com/Yiling-J/cacheme/blob/master/benchmarks/benchmark_test.py).\n\nCharts below can be used to evaluate base performance of difference storages and payload size under cocurrency workloads. Each iteration in benchmarks will call Cacheme API N times concurrently. All keys are generated using a bounded [zipf](https://en.wikipedia.org/wiki/Zipf%27s_law) generator([zipf.py](https://github.com/Yiling-J/cacheme/blob/master/benchmarks/zipf.py)). **Y axis in the chart shows how many iterations can be finished per second. If each iteration contains 10k requests, then value of 3 means 30k requests/second.**\n\nCocurerency level is controlled by WORKERS param, default is 500. All tasks will be stored in asyncio queue and consumed by workers.\nCacheme is optimized for skewed workloads and concurrency requests. You can increase worker count and see benchmark results.\n\nBenchmarks are parameterized by storage and payload size, `[redis-small]` in chart title means storage is `redis` and payload size is small. Different payloads json can be found here: https://github.com/Yiling-J/cacheme/tree/master/benchmarks\n\n### Theine Benchmarks\nTheine is the in-memory cache library used by Cacheme:\n\nhttps://github.com/Yiling-J/theine\n\n10k requests, zipf, read/write\\\nhttps://yiling-j.github.io/cacheme-benchmark/dev/theine/\n\n### Cacheme Benchmarks\n\nAll benchmarks below run sequentially without concurrency. See Cacheme readme benchmarks section to get an idea of parallel performance.\n \n1k requests read only\\\nhttps://yiling-j.github.io/cacheme-benchmark/dev/test_read_only/\n\n1k requests write only\\\nhttps://yiling-j.github.io/cacheme-benchmark/dev/test_write_only/\n\n1k requests zipf\\\nhttps://yiling-j.github.io/cacheme-benchmark/dev/test_zipf/\n\n100 requests batch zipf, each request get 20 unique numbers\\\nhttps://yiling-j.github.io/cacheme-benchmark/dev/test_read_only_batch/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyiling-j%2Fcacheme-benchmark","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyiling-j%2Fcacheme-benchmark","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyiling-j%2Fcacheme-benchmark/lists"}