Debug VS Release
Single-threaded VS Multi-threaded
$ npm i autocannon -g
Listening on http://127.0.0.1:8000
$ 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
$ 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
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
$ 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
$ 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
$ 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
$ 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
$ 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