hyperfine --ignore-failure --warmup 5 --runs 100 \
  '~/rust/curl/src/curl --silent --alt-svc ~/.altsvc.cache https://x1.local:4433/get' \
  '~/rust/h3/target/x86_64-unknown-linux-musl/release/examples/client https://x1.local:4433/get' \
  '~/proxygen/proxygen/_build/proxygen/httpserver/hq -logdir=/tmp -mode=client -early_data=true -connect_udp=true -draft-version=29 -port=4433 -host=x1.local -path=/get' \
  '~/istio/pkg/test/echo/cmd/client/client --http3 https://x1.local:4433/get' \
  '~/rust/neqo/target/release/neqo-client --output-read-data --resume --alpn h3-29 https://x1.local:4433/get' \
  '~/rust/quiche/tools/apps/target/x86_64-unknown-linux-musl/release/quiche-client https://x1.local:4433/get' \
  '~/rust/quinn/target/x86_64-unknown-linux-musl/release/examples/h3_client https://x1.local:4433/get'

Benchmark #1: ~/rust/curl/src/curl --silent --alt-svc ~/.altsvc.cache https://x1.local:4433/get
  Time (mean ± σ):     146.1 ms ±  55.3 ms    [User: 23.9 ms, System: 17.1 ms]
  Range (min … max):   105.0 ms … 525.4 ms    100 runs

Benchmark #2: ~/rust/h3/target/x86_64-unknown-linux-musl/release/examples/client https://x1.local:4433/get
  Time (mean ± σ):     129.2 ms ±  52.0 ms    [User: 9.4 ms, System: 7.0 ms]
  Range (min … max):   100.4 ms … 402.4 ms    100 runs

Benchmark #3: ~/proxygen/proxygen/_build/proxygen/httpserver/hq -logdir=/tmp -mode=client -early_data=true -connect_udp=true -draft-version=29 -port=4433 -host=x1.local -path=/get
  Time (mean ± σ):     142.0 ms ±  55.8 ms    [User: 16.9 ms, System: 9.0 ms]
  Range (min … max):   104.4 ms … 507.2 ms    100 runs

Benchmark #4: ~/istio/pkg/test/echo/cmd/client/client --http3 https://x1.local:4433/get
  Time (mean ± σ):     133.2 ms ±  70.2 ms    [User: 10.1 ms, System: 9.3 ms]
  Range (min … max):   101.6 ms … 625.9 ms    100 runs

Benchmark #5: ~/rust/neqo/target/release/neqo-client --output-read-data --resume --alpn h3-29 https://x1.local:4433/get
  Time (mean ± σ):     125.7 ms ±  38.0 ms    [User: 9.2 ms, System: 4.6 ms]
  Range (min … max):    99.5 ms … 376.6 ms    100 runs

Benchmark #6: ~/rust/quiche/tools/apps/target/x86_64-unknown-linux-musl/release/quiche-client https://x1.local:4433/get
  Time (mean ± σ):     218.5 ms ±  91.1 ms    [User: 9.1 ms, System: 4.0 ms]
  Range (min … max):   121.5 ms … 738.7 ms    100 runs

Benchmark #7: ~/rust/quinn/target/x86_64-unknown-linux-musl/release/examples/h3_client https://x1.local:4433/get
  Time (mean ± σ):     151.0 ms ±  78.2 ms    [User: 9.4 ms, System: 7.7 ms]
  Range (min … max):   100.7 ms … 558.9 ms    100 runs

Summary
  '~/rust/neqo/target/release/neqo-client --output-read-data --resume --alpn h3-29 https://x1.local:4433/get' ran
    1.03 ± 0.52 times faster than '~/rust/h3/target/x86_64-unknown-linux-musl/release/examples/client https://x1.local:4433/get'
    1.06 ± 0.64 times faster than '~/istio/pkg/test/echo/cmd/client/client --http3 https://x1.local:4433/get'
    1.13 ± 0.56 times faster than '~/proxygen/proxygen/_build/proxygen/httpserver/hq -logdir=/tmp -mode=client -early_data=true -connect_udp=true -draft-version=29 -port=4433 -host=x1.local -path=/get'
    1.16 ± 0.56 times faster than '~/rust/curl/src/curl --silent --alt-svc ~/.altsvc.cache https://x1.local:4433/get'
    1.20 ± 0.72 times faster than '~/rust/quinn/target/x86_64-unknown-linux-musl/release/examples/h3_client https://x1.local:4433/get'
    1.74 ± 0.90 times faster than '~/rust/quiche/tools/apps/target/x86_64-unknown-linux-musl/release/quiche-client https://x1.local:4433/get'