Debug VS Release
Single-threaded VS Multi-threaded
$ npm i autocannon -g
Listening on http://127.0.0.1:8000
- Debug
$ cargo run --bin hello-smol-single
$ autocannon 127.0.0.1:8000
Running 10s test @ http://127.0.0.1:8000
10 connections
┌─────────┬──────┬──────┬───────┬──────┬─────────┬─────────┬──────────┐
│ Stat │ 2.5% │ 50% │ 97.5% │ 99% │ Avg │ Stdev │ Max │
├─────────┼──────┼──────┼───────┼──────┼─────────┼─────────┼──────────┤
│ Latency │ 0 ms │ 3 ms │ 3 ms │ 4 ms │ 2.71 ms │ 0.96 ms │ 10.02 ms │
└─────────┴──────┴──────┴───────┴──────┴─────────┴─────────┴──────────┘
┌───────────┬────────┬────────┬────────┬────────┬─────────┬───────┬────────┐
│ Stat │ 1% │ 2.5% │ 50% │ 97.5% │ Avg │ Stdev │ Min │
├───────────┼────────┼────────┼────────┼────────┼─────────┼───────┼────────┤
│ Req/Sec │ 2839 │ 2839 │ 2855 │ 2865 │ 2855.37 │ 7.08 │ 2839 │
├───────────┼────────┼────────┼────────┼────────┼─────────┼───────┼────────┤
│ Bytes/Sec │ 250 kB │ 250 kB │ 251 kB │ 252 kB │ 251 kB │ 625 B │ 250 kB │
└───────────┴────────┴────────┴────────┴────────┴─────────┴───────┴────────┘
Req/Bytes counts sampled once per second.
31k requests in 11.03s, 2.76 MB read
- Release
$ cargo run --bin hello-smol-single --release
$ autocannon 127.0.0.1:8000
Running 10s test @ http://127.0.0.1:8000
10 connections
┌─────────┬──────┬──────┬───────┬──────┬─────────┬─────────┬─────────┐
│ Stat │ 2.5% │ 50% │ 97.5% │ 99% │ Avg │ Stdev │ Max │
├─────────┼──────┼──────┼───────┼──────┼─────────┼─────────┼─────────┤
│ Latency │ 0 ms │ 0 ms │ 0 ms │ 0 ms │ 0.01 ms │ 0.04 ms │ 6.01 ms │
└─────────┴──────┴──────┴───────┴──────┴─────────┴─────────┴─────────┘
┌───────────┬─────────┬─────────┬─────────┬─────────┬──────────┬─────────┬─────────┐
│ Stat │ 1% │ 2.5% │ 50% │ 97.5% │ Avg │ Stdev │ Min │
├───────────┼─────────┼─────────┼─────────┼─────────┼──────────┼─────────┼─────────┤
│ Req/Sec │ 67775 │ 67775 │ 76607 │ 77055 │ 75086.55 │ 2842.08 │ 67746 │
├───────────┼─────────┼─────────┼─────────┼─────────┼──────────┼─────────┼─────────┤
│ Bytes/Sec │ 5.96 MB │ 5.96 MB │ 6.74 MB │ 6.78 MB │ 6.61 MB │ 250 kB │ 5.96 MB │
└───────────┴─────────┴─────────┴─────────┴─────────┴──────────┴─────────┴─────────┘
Req/Bytes counts sampled once per second.
826k requests in 11.05s, 72.7 MB read
- Debug
cargo run --bin hello-smol-multi
$ autocannon 127.0.0.1:8000
Running 10s test @ http://127.0.0.1:8000
10 connections
┌─────────┬──────┬──────┬───────┬──────┬─────────┬─────────┬──────────┐
│ Stat │ 2.5% │ 50% │ 97.5% │ 99% │ Avg │ Stdev │ Max │
├─────────┼──────┼──────┼───────┼──────┼─────────┼─────────┼──────────┤
│ Latency │ 0 ms │ 0 ms │ 1 ms │ 1 ms │ 0.26 ms │ 0.49 ms │ 10.86 ms │
└─────────┴──────┴──────┴───────┴──────┴─────────┴─────────┴──────────┘
┌───────────┬────────┬────────┬─────────┬─────────┬──────────┬────────┬────────┐
│ Stat │ 1% │ 2.5% │ 50% │ 97.5% │ Avg │ Stdev │ Min │
├───────────┼────────┼────────┼─────────┼─────────┼──────────┼────────┼────────┤
│ Req/Sec │ 10607 │ 10607 │ 11559 │ 11607 │ 11367.64 │ 293.48 │ 10600 │
├───────────┼────────┼────────┼─────────┼─────────┼──────────┼────────┼────────┤
│ Bytes/Sec │ 933 kB │ 933 kB │ 1.02 MB │ 1.02 MB │ 1 MB │ 26 kB │ 933 kB │
└───────────┴────────┴────────┴─────────┴─────────┴──────────┴────────┴────────┘
Req/Bytes counts sampled once per second.
125k requests in 11.03s, 11 MB read
- Release
$ cargo run --bin hello-smol-multi --release
$ autocannon 127.0.0.1:8000
Running 10s test @ http://127.0.0.1:8000
10 connections
┌─────────┬──────┬──────┬───────┬──────┬─────────┬─────────┬─────────┐
│ Stat │ 2.5% │ 50% │ 97.5% │ 99% │ Avg │ Stdev │ Max │
├─────────┼──────┼──────┼───────┼──────┼─────────┼─────────┼─────────┤
│ Latency │ 0 ms │ 0 ms │ 0 ms │ 0 ms │ 0.01 ms │ 0.04 ms │ 6.08 ms │
└─────────┴──────┴──────┴───────┴──────┴─────────┴─────────┴─────────┘
┌───────────┬─────────┬─────────┬─────────┬─────────┬──────────┬─────────┬─────────┐
│ Stat │ 1% │ 2.5% │ 50% │ 97.5% │ Avg │ Stdev │ Min │
├───────────┼─────────┼─────────┼─────────┼─────────┼──────────┼─────────┼─────────┤
│ Req/Sec │ 58719 │ 58719 │ 69951 │ 71167 │ 68538.19 │ 4019.21 │ 58703 │
├───────────┼─────────┼─────────┼─────────┼─────────┼──────────┼─────────┼─────────┤
│ Bytes/Sec │ 5.17 MB │ 5.17 MB │ 6.16 MB │ 6.26 MB │ 6.03 MB │ 353 kB │ 5.17 MB │
└───────────┴─────────┴─────────┴─────────┴─────────┴──────────┴─────────┴─────────┘
Req/Bytes counts sampled once per second.
754k requests in 11.04s, 66.3 MB read
Listening on http://127.0.0.1:8001
- Debug
$ cargo run --bin hello-tokio-single
$ autocannon 127.0.0.1:8001
Running 10s test @ http://127.0.0.1:8001
10 connections
┌─────────┬──────┬──────┬───────┬──────┬─────────┬─────────┬─────────┐
│ Stat │ 2.5% │ 50% │ 97.5% │ 99% │ Avg │ Stdev │ Max │
├─────────┼──────┼──────┼───────┼──────┼─────────┼─────────┼─────────┤
│ Latency │ 0 ms │ 0 ms │ 0 ms │ 0 ms │ 0.01 ms │ 0.06 ms │ 6.01 ms │
└─────────┴──────┴──────┴───────┴──────┴─────────┴─────────┴─────────┘
┌───────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐
│ Stat │ 1% │ 2.5% │ 50% │ 97.5% │ Avg │ Stdev │ Min │
├───────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
│ Req/Sec │ 18911 │ 18911 │ 19391 │ 19519 │ 19301.1 │ 187.69 │ 18906 │
├───────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
│ Bytes/Sec │ 1.66 MB │ 1.66 MB │ 1.71 MB │ 1.72 MB │ 1.7 MB │ 16.4 kB │ 1.66 MB │
└───────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘
Req/Bytes counts sampled once per second.
212k requests in 11.04s, 18.7 MB read
- Release
$ cargo run --bin hello-tokio-single --release
$ autocannon 127.0.0.1:8001
Running 10s test @ http://127.0.0.1:8001
10 connections
┌─────────┬──────┬──────┬───────┬──────┬─────────┬─────────┬─────────┐
│ Stat │ 2.5% │ 50% │ 97.5% │ 99% │ Avg │ Stdev │ Max │
├─────────┼──────┼──────┼───────┼──────┼─────────┼─────────┼─────────┤
│ Latency │ 0 ms │ 0 ms │ 0 ms │ 0 ms │ 0.01 ms │ 0.03 ms │ 6.06 ms │
└─────────┴──────┴──────┴───────┴──────┴─────────┴─────────┴─────────┘
┌───────────┬────────┬────────┬─────────┬─────────┬──────────┬─────────┬────────┐
│ Stat │ 1% │ 2.5% │ 50% │ 97.5% │ Avg │ Stdev │ Min │
├───────────┼────────┼────────┼─────────┼─────────┼──────────┼─────────┼────────┤
│ Req/Sec │ 69375 │ 69375 │ 75839 │ 77183 │ 75290.19 │ 2152.17 │ 69322 │
├───────────┼────────┼────────┼─────────┼─────────┼──────────┼─────────┼────────┤
│ Bytes/Sec │ 6.1 MB │ 6.1 MB │ 6.67 MB │ 6.79 MB │ 6.63 MB │ 190 kB │ 6.1 MB │
└───────────┴────────┴────────┴─────────┴─────────┴──────────┴─────────┴────────┘
Req/Bytes counts sampled once per second.
828k requests in 11.04s, 72.9 MB read
- Debug
$ cargo run --bin hello-tokio-multi
$ autocannon 127.0.0.1:8001
Running 10s test @ http://127.0.0.1:8001
10 connections
┌─────────┬──────┬──────┬───────┬──────┬─────────┬─────────┬─────────┐
│ Stat │ 2.5% │ 50% │ 97.5% │ 99% │ Avg │ Stdev │ Max │
├─────────┼──────┼──────┼───────┼──────┼─────────┼─────────┼─────────┤
│ Latency │ 0 ms │ 0 ms │ 0 ms │ 0 ms │ 0.01 ms │ 0.04 ms │ 6.14 ms │
└─────────┴──────┴──────┴───────┴──────┴─────────┴─────────┴─────────┘
┌───────────┬─────────┬─────────┬─────────┬─────────┬──────────┬─────────┬─────────┐
│ Stat │ 1% │ 2.5% │ 50% │ 97.5% │ Avg │ Stdev │ Min │
├───────────┼─────────┼─────────┼─────────┼─────────┼──────────┼─────────┼─────────┤
│ Req/Sec │ 40319 │ 40319 │ 43519 │ 44607 │ 43346.91 │ 1227.17 │ 40306 │
├───────────┼─────────┼─────────┼─────────┼─────────┼──────────┼─────────┼─────────┤
│ Bytes/Sec │ 3.55 MB │ 3.55 MB │ 3.83 MB │ 3.93 MB │ 3.81 MB │ 108 kB │ 3.55 MB │
└───────────┴─────────┴─────────┴─────────┴─────────┴──────────┴─────────┴─────────┘
Req/Bytes counts sampled once per second.
477k requests in 11.04s, 42 MB read
- Release
$ cargo run --bin hello-tokio-multi --release
$ autocannon 127.0.0.1:8001
Running 10s test @ http://127.0.0.1:8001
10 connections
┌─────────┬──────┬──────┬───────┬──────┬─────────┬─────────┬─────────┐
│ Stat │ 2.5% │ 50% │ 97.5% │ 99% │ Avg │ Stdev │ Max │
├─────────┼──────┼──────┼───────┼──────┼─────────┼─────────┼─────────┤
│ Latency │ 0 ms │ 0 ms │ 0 ms │ 0 ms │ 0.01 ms │ 0.04 ms │ 6.13 ms │
└─────────┴──────┴──────┴───────┴──────┴─────────┴─────────┴─────────┘
┌───────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐
│ Stat │ 1% │ 2.5% │ 50% │ 97.5% │ Avg │ Stdev │ Min │
├───────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
│ Req/Sec │ 66943 │ 66943 │ 74687 │ 74879 │ 73661.1 │ 2243.64 │ 66932 │
├───────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤
│ Bytes/Sec │ 5.89 MB │ 5.89 MB │ 6.57 MB │ 6.59 MB │ 6.48 MB │ 198 kB │ 5.89 MB │
└───────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘
Req/Bytes counts sampled once per second.
810k requests in 11.05s, 71.3 MB read