cargo run --releaseOptional flags:
cargo run --release -- --impl fastwebsockets,sockudo-ws,soketto --messages 100000 --payload 4096 --warmup 1 --rounds 5Supported implementations: fastwebsockets, sockudo-ws, soketto, tokio-tungstenite, tokio-websockets, ws-tool.
Advanced roles:
websocket-benchmark server --impl soketto
websocket-benchmark client --impl soketto --mode rtt --addr 127.0.0.1:9001Values will vary by hardware and settings.
-
Apple Silicon M4 MAX 64GB
Benchmarking soketto. Phase: RTT. Config: messages=100000, payload=4096 bytes, warmup_rounds=1, rounds=5. RTT result (us): median=33.86, p90=33.95, p99=33.99, mean=33.66, stdev=0.36. Phase: Throughput. Config: messages=100000, payload=4096 bytes, warmup_rounds=1, rounds=5. Throughput result (MiB/s, tx+rx): median=973.49, p90=996.31, p99=1000.86, mean=980.12, stdev=13.04. Benchmarking tokio-tungstenite. Phase: RTT. Config: messages=100000, payload=4096 bytes, warmup_rounds=1, rounds=5. RTT result (us): median=28.23, p90=29.28, p99=29.61, mean=27.70, stdev=1.67. Phase: Throughput. Config: messages=100000, payload=4096 bytes, warmup_rounds=1, rounds=5. Throughput result (MiB/s, tx+rx): median=2224.08, p90=2443.26, p99=2496.92, mean=2281.33, stdev=134.83. Benchmarking tokio-websockets. Phase: RTT. Config: messages=100000, payload=4096 bytes, warmup_rounds=1, rounds=5. RTT result (us): median=24.81, p90=25.35, p99=25.48, mean=24.97, stdev=0.31. Phase: Throughput. Config: messages=100000, payload=4096 bytes, warmup_rounds=1, rounds=5. Throughput result (MiB/s, tx+rx): median=2453.13, p90=2531.10, p99=2552.74, mean=2400.84, stdev=156.63. Benchmarking ws-tool. Phase: RTT. Config: messages=100000, payload=4096 bytes, warmup_rounds=1, rounds=5. RTT result (us): median=24.94, p90=25.73, p99=26.15, mean=25.05, stdev=0.61. Phase: Throughput. Config: messages=100000, payload=4096 bytes, warmup_rounds=1, rounds=5. Throughput result (MiB/s, tx+rx): median=3506.21, p90=3575.85, p99=3606.07, mean=3204.69, stdev=477.82. Benchmarking fastwebsockets. Phase: RTT. Config: messages=100000, payload=4096 bytes, warmup_rounds=1, rounds=5. RTT result (us): median=26.46, p90=26.55, p99=26.58, mean=25.95, stdev=0.98. Phase: Throughput. Config: messages=100000, payload=4096 bytes, warmup_rounds=1, rounds=5. Throughput result (MiB/s, tx+rx): median=2606.39, p90=2639.46, p99=2639.57, mean=2596.05, stdev=42.31. Benchmarking sockudo-ws. Phase: RTT. Config: messages=100000, payload=4096 bytes, warmup_rounds=1, rounds=5. RTT result (us): median=27.88, p90=28.23, p99=28.32, mean=27.96, stdev=0.22. Phase: Throughput. Config: messages=100000, payload=4096 bytes, warmup_rounds=1, rounds=5. Throughput result (MiB/s, tx+rx): median=2274.14, p90=2461.63, p99=2529.10, mean=2310.82, stdev=134.29.
If you find this project helpful and would like to support its development, you can buy me a coffee!
Your support is greatly appreciated and motivates me to keep improving this project.
- Fiat
- Crypto
- Bitcoin
bc1pedlrf67ss52md29qqkzr2avma6ghyrt4jx9ecp9457qsl75x247sqcp43c
- Ethereum
0x3e25247CfF03F99a7D83b28F207112234feE73a6
- Polkadot
156HGo9setPcU2qhFMVWLkcmtCEGySLwNqa3DaEiYSWtte4Y
- Bitcoin
Thank you for your support!
We would like to extend our heartfelt gratitude to the following projects and contributors:
Licensed under GPL-3.0.