{"id":35043655,"url":"https://github.com/hack-ink/websocket-benchmark","last_synced_at":"2026-05-21T00:05:55.484Z","repository":{"id":273079699,"uuid":"910524232","full_name":"hack-ink/websocket-benchmark","owner":"hack-ink","description":"Rust websocket benchmark.","archived":false,"fork":false,"pushed_at":"2026-02-04T06:07:04.000Z","size":97,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-04T16:40:26.667Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/hack-ink.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2024-12-31T14:18:04.000Z","updated_at":"2026-02-04T06:07:42.000Z","dependencies_parsed_at":"2025-01-18T15:05:04.456Z","dependency_job_id":"9dac7d98-eead-40b5-a19d-62bcad6c0287","html_url":"https://github.com/hack-ink/websocket-benchmark","commit_stats":null,"previous_names":["hack-ink/websocket-benchmark"],"tags_count":2,"template":false,"template_full_name":"hack-ink/vibe-mono","purl":"pkg:github/hack-ink/websocket-benchmark","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hack-ink%2Fwebsocket-benchmark","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hack-ink%2Fwebsocket-benchmark/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hack-ink%2Fwebsocket-benchmark/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hack-ink%2Fwebsocket-benchmark/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hack-ink","download_url":"https://codeload.github.com/hack-ink/websocket-benchmark/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hack-ink%2Fwebsocket-benchmark/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33281376,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-20T15:12:43.734Z","status":"ssl_error","status_checked_at":"2026-05-20T15:12:42.300Z","response_time":356,"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":"2025-12-27T08:39:24.641Z","updated_at":"2026-05-21T00:05:55.478Z","avatar_url":"https://github.com/hack-ink.png","language":"Rust","funding_links":["https://ko-fi.com/hack_ink"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# websocket-benchmark\n\n### Rust websocket benchmark.\n\n[![License](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\n[![Language Checks](https://github.com/hack-ink/websocket-benchmark/actions/workflows/language.yml/badge.svg?branch=main)](https://github.com/hack-ink/websocket-benchmark/actions/workflows/language.yml)\n[![GitHub tag (latest by date)](https://img.shields.io/github/v/tag/hack-ink/websocket-benchmark)](https://github.com/hack-ink/websocket-benchmark/tags)\n[![GitHub last commit](https://img.shields.io/github/last-commit/hack-ink/websocket-benchmark?color=red\u0026style=plastic)](https://github.com/hack-ink/websocket-benchmark)\n[![GitHub code lines](https://tokei.rs/b1/github/hack-ink/websocket-benchmark)](https://github.com/hack-ink/websocket-benchmark)\n\n\u003c/div\u003e\n\n### Usage\n\n```sh\ncargo run --release\n```\n\nOptional flags:\n\n```sh\ncargo run --release -- --impl fastwebsockets,sockudo-ws,soketto --messages 100000 --payload 4096 --warmup 1 --rounds 5\n```\n\nSupported implementations: fastwebsockets, sockudo-ws, soketto, tokio-tungstenite, tokio-websockets, ws-tool.\n\nAdvanced roles:\n\n```sh\nwebsocket-benchmark server --impl soketto\nwebsocket-benchmark client --impl soketto --mode rtt --addr 127.0.0.1:9001\n```\n\n### Example Output\n\nValues will vary by hardware and settings.\n\n- Apple Silicon M4 MAX 64GB\n\n    ```\n    Benchmarking soketto.\n    Phase: RTT.\n    Config: messages=100000, payload=4096 bytes, warmup_rounds=1, rounds=5.\n    RTT result (us): median=33.86, p90=33.95, p99=33.99, mean=33.66, stdev=0.36.\n    Phase: Throughput.\n    Config: messages=100000, payload=4096 bytes, warmup_rounds=1, rounds=5.\n    Throughput result (MiB/s, tx+rx): median=973.49, p90=996.31, p99=1000.86, mean=980.12, stdev=13.04.\n\n    Benchmarking tokio-tungstenite.\n    Phase: RTT.\n    Config: messages=100000, payload=4096 bytes, warmup_rounds=1, rounds=5.\n    RTT result (us): median=28.23, p90=29.28, p99=29.61, mean=27.70, stdev=1.67.\n    Phase: Throughput.\n    Config: messages=100000, payload=4096 bytes, warmup_rounds=1, rounds=5.\n    Throughput result (MiB/s, tx+rx): median=2224.08, p90=2443.26, p99=2496.92, mean=2281.33, stdev=134.83.\n\n    Benchmarking tokio-websockets.\n    Phase: RTT.\n    Config: messages=100000, payload=4096 bytes, warmup_rounds=1, rounds=5.\n    RTT result (us): median=24.81, p90=25.35, p99=25.48, mean=24.97, stdev=0.31.\n    Phase: Throughput.\n    Config: messages=100000, payload=4096 bytes, warmup_rounds=1, rounds=5.\n    Throughput result (MiB/s, tx+rx): median=2453.13, p90=2531.10, p99=2552.74, mean=2400.84, stdev=156.63.\n\n    Benchmarking ws-tool.\n    Phase: RTT.\n    Config: messages=100000, payload=4096 bytes, warmup_rounds=1, rounds=5.\n    RTT result (us): median=24.94, p90=25.73, p99=26.15, mean=25.05, stdev=0.61.\n    Phase: Throughput.\n    Config: messages=100000, payload=4096 bytes, warmup_rounds=1, rounds=5.\n    Throughput result (MiB/s, tx+rx): median=3506.21, p90=3575.85, p99=3606.07, mean=3204.69, stdev=477.82.\n\n    Benchmarking fastwebsockets.\n    Phase: RTT.\n    Config: messages=100000, payload=4096 bytes, warmup_rounds=1, rounds=5.\n    RTT result (us): median=26.46, p90=26.55, p99=26.58, mean=25.95, stdev=0.98.\n    Phase: Throughput.\n    Config: messages=100000, payload=4096 bytes, warmup_rounds=1, rounds=5.\n    Throughput result (MiB/s, tx+rx): median=2606.39, p90=2639.46, p99=2639.57, mean=2596.05, stdev=42.31.\n\n    Benchmarking sockudo-ws.\n    Phase: RTT.\n    Config: messages=100000, payload=4096 bytes, warmup_rounds=1, rounds=5.\n    RTT result (us): median=27.88, p90=28.23, p99=28.32, mean=27.96, stdev=0.22.\n    Phase: Throughput.\n    Config: messages=100000, payload=4096 bytes, warmup_rounds=1, rounds=5.\n    Throughput result (MiB/s, tx+rx): median=2274.14, p90=2461.63, p99=2529.10, mean=2310.82, stdev=134.29.\n    ```\n\n## Support Me\n\nIf you find this project helpful and would like to support its development, you can buy me a coffee!\n\nYour support is greatly appreciated and motivates me to keep improving this project.\n\n- **Fiat**\n    - [Ko-fi](https://ko-fi.com/hack_ink)\n    - [爱发电](https://afdian.com/a/hack_ink)\n- **Crypto**\n    - **Bitcoin**\n        - `bc1pedlrf67ss52md29qqkzr2avma6ghyrt4jx9ecp9457qsl75x247sqcp43c`\n    - **Ethereum**\n        - `0x3e25247CfF03F99a7D83b28F207112234feE73a6`\n    - **Polkadot**\n        - `156HGo9setPcU2qhFMVWLkcmtCEGySLwNqa3DaEiYSWtte4Y`\n\nThank you for your support!\n\n## Appreciation\n\nWe would like to extend our heartfelt gratitude to the following projects and contributors:\n\n- https://github.com/nurmohammed840/web-socket-benchmark\n\n\u003cdiv align=\"right\"\u003e\n\n### License\n\n\u003csup\u003eLicensed under [GPL-3.0](LICENSE).\u003c/sup\u003e\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhack-ink%2Fwebsocket-benchmark","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhack-ink%2Fwebsocket-benchmark","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhack-ink%2Fwebsocket-benchmark/lists"}