Can we beat wrk?
โ Rust ๐ 2025-11-01 ๐ค surdeus ๐๏ธ 10Just for fun, holiday project. I was trying to beat wrk for simple get request.
Disclaimer: i was using claude code for prototyping and optimization.
Results are here: rwrk/PERFORMANCE.md at master ยท arch7tect/rwrk ยท GitHub
key findings:
- reqwest is slower then row hyper ~4-5%
- wrk is very fast, but it depends heavily on the number of threads and connections
- the number of Rust workers has a significant impact on the result
config:
Platform: macOS, 16 cores
rwrk: 56x CPU cores = 896 async workers (default)
./target/release/rwrk -u https://exposeme.org/ -t 30
wrk: 64 threads, 704 connections (optimal)
wrk -t64 -c704 -d30s https://exposeme.org/
current results:
rwrk - 7,145 req/sec
wrk - 7,143 req/sec
PS: I couldn't solve a problem of correct MB/sec counting. wrt reads from a raw socket so it is easy to measure total bytes. But I couldn't find a way to count MB/sec (including headers) in the hyper client.
1 post - 1 participant
๐ท๏ธ Rust_feed