A small utility to benchmark different approaches for building concurrent applications.
cargo
- https://www.rust-lang.org/tools/installpython3.6+
with matplotlib
cargo bench
``` A tool to model sync vs async processing for a network service
USAGE:
concurrency-demo-benchmarks [OPTIONS] --name
FLAGS: -h, --help Prints help information -V, --version Prints version information
OPTIONS:
-l, --latency
SUBCOMMANDS: async Model a service with Async I/O help Prints this message or the help of the given subcommand(s) sync Model a service with Blocking I/O
```
500 threads
concurrency-demo-benchmarks -N sync_t500_200ms -r 100 -n 1000 -l 200 sync -t 500
1000 rps
500 threads
concurrency-demo-benchmarks -N sync_t500_600ms -r 100 -n 1000 -l 600 sync -t 500
1000 rps
concurrency-demo-benchmarks -N sync_t500_30s -r 100 -n 1000 -l 200,200,200,200,200,200,200,200,200,30000 sync -t 500
200ms latency (stable)
concurrency-demo-benchmarks -N async_200ms -r 100 -n 1000 -l 200 async
1000 rps
600ms latency (stable)
concurrency-demo-benchmarks -N async_600ms -r 100 -n 1000 -l 600 async
1000 rps
concurrency-demo-benchmarks -N async_30s -r 100 -n 1000 -l 200,200,200,200,200,200,200,200,200,30000 async