Skip to content

Instantly share code, notes, and snippets.

@kubo39
Last active September 7, 2019 13:53
Show Gist options
  • Save kubo39/5a6786cb22d81f496ab4a1f7846e689c to your computer and use it in GitHub Desktop.
Save kubo39/5a6786cb22d81f496ab4a1f7846e689c to your computer and use it in GitHub Desktop.
(dmd-2.088.0)$ ./bench.sh
~/dev/dlang/vibe.d ~/dev/dlang
+ git checkout master
Already on 'master'
Your branch is up to date with 'upstream/master'.
+ git rev-parse HEAD
da8d30598bdf9401d512a46a077c62b061926e18
+ set +x
~/dev/dlang/vibe.d/examples/bench-http-server ~/dev/dlang/vibe.d ~/dev/dlang
+ wrk -c 1000 -d 10s http://localhost:8080/
Running 10s test @ http://localhost:8080/
2 threads and 1000 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 27.89ms 71.86ms 1.26s 97.89%
Req/Sec 25.07k 2.12k 31.55k 89.90%
498926 requests in 10.10s, 401.59MB read
Requests/sec: 49418.30
Transfer/sec: 39.78MB
+ wrk -c 1000 -d 10s http://localhost:8080/empty
Running 10s test @ http://localhost:8080/empty
2 threads and 1000 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 11.96ms 8.32ms 323.13ms 85.31%
Req/Sec 38.73k 3.22k 45.56k 91.88%
768749 requests in 10.10s, 122.43MB read
Requests/sec: 76132.29
Transfer/sec: 12.13MB
+ wrk -c 1000 -d 10s http://localhost:8080/static/10
Running 10s test @ http://localhost:8080/static/10
2 threads and 1000 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 12.94ms 8.12ms 300.31ms 77.79%
Req/Sec 33.67k 3.68k 39.95k 76.02%
669984 requests in 10.08s, 113.73MB read
Requests/sec: 66489.79
Transfer/sec: 11.29MB
+ wrk -c 1000 -d 10s http://localhost:8080/static/1k
Running 10s test @ http://localhost:8080/static/1k
2 threads and 1000 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 14.13ms 10.93ms 353.32ms 77.19%
Req/Sec 33.51k 3.24k 38.76k 85.35%
665977 requests in 10.07s, 743.10MB read
Requests/sec: 66106.13
Transfer/sec: 73.76MB
+ wrk -c 1000 -d 10s http://localhost:8080/static/10k
Running 10s test @ http://localhost:8080/static/10k
2 threads and 1000 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 15.08ms 14.98ms 506.88ms 95.79%
Req/Sec 30.78k 3.76k 39.15k 69.54%
611313 requests in 10.07s, 5.79GB read
Requests/sec: 60696.30
Transfer/sec: 588.74MB
+ set +x
Exiting event loop...~/dev/dlang/vibe.d ~/dev/dlang
./bench.sh: 29 行: 8198 強制終了 ./bench-http-server &> /dev/null (wd: ~/dev/dlang/vibe.d/examples/bench-http-server)
+ git checkout date
Switched to branch 'date'
Your branch is up to date with 'origin/date'.
+ git rev-parse HEAD
850dffdafc0a965f9ace15ce8966a2234616be89
+ set +x
~/dev/dlang/vibe.d/examples/bench-http-server ~/dev/dlang/vibe.d ~/dev/dlang
../../http/vibe/http/server.d(949,24): Deprecation: function std.typecons.Nullable!(CookieValueMap).Nullable.get_ is deprecated - Implicit conversion with alias Nullable.ge
t this will be removed after 2.096. Please use .get explicitly.
../../http/vibe/http/server.d(962,38): Deprecation: function std.typecons.Nullable!(DictionaryList!(string, true, 16LU, false)).Nullable.get_ is deprecated - Implicit conve
rsion with alias Nullable.get this will be removed after 2.096. Please use .get explicitly.
../../http/vibe/http/server.d(1041,18): Deprecation: function std.typecons.Nullable!(DictionaryList!(string, true, 16LU, false)).Nullable.get_ is deprecated - Implicit conv
ersion with alias Nullable.get this will be removed after 2.096. Please use .get explicitly.
/home/kubo39/dlang/dmd-2.088.0/linux/bin64/../../src/phobos/std/range/primitives.d(174,38): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue inst
ead.
/home/kubo39/dlang/dmd-2.088.0/linux/bin64/../../src/phobos/std/range/primitives.d(176,27): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue inst
ead.
/home/kubo39/dlang/dmd-2.088.0/linux/bin64/../../src/phobos/std/range/primitives.d(174,38): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue inst
ead.
/home/kubo39/dlang/dmd-2.088.0/linux/bin64/../../src/phobos/std/range/primitives.d(176,27): Deprecation: alias byKeyValue this is deprecated - Iterate over .byKeyValue inst
ead.
/home/kubo39/.dub/packages/vibe-core-1.7.0-rc.2/vibe-core/source/vibe/core/args.d(304,47): Deprecation: alias std.json.JSON_TYPE is deprecated - Use JSONType
/home/kubo39/.dub/packages/vibe-core-1.7.0-rc.2/vibe-core/source/vibe/core/args.d(304,47): Deprecation: enum member std.json.JSONType.TRUE is deprecated - Use .true_
Compiling Diet HTML template home.dt...
/home/kubo39/.dub/packages/diet-ng-1.6.0/diet-ng/source/diet/parser.d(787,6): Deprecation: function std.typecons.Nullable!(Node[]).Nullable.get_ is deprecated - Implicit co
nversion with alias Nullable.get this will be removed after 2.096. Please use .get explicitly.
/home/kubo39/.dub/packages/diet-ng-1.6.0/diet-ng/source/diet/parser.d(788,29): Deprecation: function std.typecons.Nullable!(Node[]).Nullable.get_ is deprecated - Implicit c
onversion with alias Nullable.get this will be removed after 2.096. Please use .get explicitly.
/home/kubo39/dlang/dmd-2.088.0/linux/bin64/../../src/phobos/std/range/primitives.d(174,38): Deprecation: function std.typecons.Nullable!(Node[]).Nullable.get_ is deprecated
- Implicit conversion with alias Nullable.get this will be removed after 2.096. Please use .get explicitly.
/home/kubo39/dlang/dmd-2.088.0/linux/bin64/../../src/phobos/std/range/primitives.d(176,27): Deprecation: function std.typecons.Nullable!(Node[]).Nullable.get_ is deprecated
- Implicit conversion with alias Nullable.get this will be removed after 2.096. Please use .get explicitly.
/home/kubo39/dlang/dmd-2.088.0/linux/bin64/../../src/phobos/std/range/primitives.d(1264,26): Deprecation: function std.typecons.Nullable!(Node[]).Nullable.get_ is deprecate
d - Implicit conversion with alias Nullable.get this will be removed after 2.096. Please use .get explicitly.
/home/kubo39/dlang/dmd-2.088.0/linux/bin64/../../src/phobos/std/range/primitives.d(1021,27): Deprecation: function std.typecons.Nullable!(Node[]).Nullable.get_ is deprecate
d - Implicit conversion with alias Nullable.get this will be removed after 2.096. Please use .get explicitly.
/home/kubo39/dlang/dmd-2.088.0/linux/bin64/../../src/phobos/std/range/primitives.d(1553,38): Deprecation: function std.typecons.Nullable!(Node[]).Nullable.get_ is deprecate
d - Implicit conversion with alias Nullable.get this will be removed after 2.096. Please use .get explicitly.
/home/kubo39/dlang/dmd-2.088.0/linux/bin64/../../src/phobos/std/range/primitives.d(2185,15): Deprecation: function std.typecons.Nullable!(Node[]).Nullable.get_ is deprecate
d - Implicit conversion with alias Nullable.get this will be removed after 2.096. Please use .get explicitly.
/home/kubo39/dlang/dmd-2.088.0/linux/bin64/../../src/phobos/std/algorithm/iteration.d(598,9): Deprecation: function std.typecons.Nullable!(Node[]).Nullable.get_ is deprecat
ed - Implicit conversion with alias Nullable.get this will be removed after 2.096. Please use .get explicitly.
/home/kubo39/dlang/dmd-2.088.0/linux/bin64/../../src/phobos/std/algorithm/iteration.d(604,20): Deprecation: function std.typecons.Nullable!(Node[]).Nullable.get_ is depreca
ted - Implicit conversion with alias Nullable.get this will be removed after 2.096. Please use .get explicitly.
/home/kubo39/dlang/dmd-2.088.0/linux/bin64/../../src/phobos/std/algorithm/iteration.d(624,20): Deprecation: function std.typecons.Nullable!(Node[]).Nullable.get_ is depreca
ted - Implicit conversion with alias Nullable.get this will be removed after 2.096. Please use .get explicitly.
+ wrk -c 1000 -d 10s http://localhost:8080/
Running 10s test @ http://localhost:8080/
2 threads and 1000 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 20.97ms 28.31ms 679.65ms 98.73%
Req/Sec 25.69k 1.32k 29.24k 66.16%
510926 requests in 10.07s, 411.24MB read
Requests/sec: 50723.68
Transfer/sec: 40.83MB
+ wrk -c 1000 -d 10s http://localhost:8080/empty
Running 10s test @ http://localhost:8080/empty
2 threads and 1000 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 12.26ms 11.94ms 485.38ms 96.26%
Req/Sec 40.70k 1.93k 46.86k 78.79%
807708 requests in 10.02s, 128.64MB read
Requests/sec: 80573.95
Transfer/sec: 12.83MB
+ wrk -c 1000 -d 10s http://localhost:8080/static/10
Running 10s test @ http://localhost:8080/static/10
2 threads and 1000 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 12.93ms 8.69ms 226.83ms 77.53%
Req/Sec 33.95k 3.69k 46.03k 73.85%
675091 requests in 10.07s, 114.60MB read
Requests/sec: 67012.88
Transfer/sec: 11.38MB
+ wrk -c 1000 -d 10s http://localhost:8080/static/1k
Running 10s test @ http://localhost:8080/static/1k
2 threads and 1000 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 14.57ms 16.58ms 392.76ms 96.75%
Req/Sec 35.41k 2.09k 38.31k 85.35%
705432 requests in 10.08s, 787.12MB read
Requests/sec: 70010.43
Transfer/sec: 78.12MB
+ wrk -c 1000 -d 10s http://localhost:8080/static/10k
Running 10s test @ http://localhost:8080/static/10k
2 threads and 1000 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 14.68ms 8.44ms 282.04ms 78.79%
Req/Sec 32.07k 3.20k 42.02k 80.20%
637054 requests in 10.10s, 6.03GB read
Requests/sec: 63074.95
Transfer/sec: 611.82MB
+ set +x
Exiting event loop...~/dev/dlang/vibe.d ~/dev/dlang
~/dev/dlang
./bench.sh 148.81s user 130.11s system 184% cpu 2:30.89 total
#!/usr/bin/env bash
set -eu
pushd vibe.d
set -x
git checkout master && git rev-parse HEAD
set +x
pushd examples/bench-http-server
dub build -b release -q
./bench-http-server >& /dev/null &
pid=$!
sleep 5
set -x
wrk -c 1000 -d 10s http://localhost:8080/
wrk -c 1000 -d 10s http://localhost:8080/empty
wrk -c 1000 -d 10s http://localhost:8080/static/10
wrk -c 1000 -d 10s http://localhost:8080/static/1k
wrk -c 1000 -d 10s http://localhost:8080/static/10k
set +x
curl -SsL http://localhost:8080/quit
kill -9 "$pid"
popd # examples/bench-http-server
sleep 10 # avoid `address already in use...`
# date
set -x
git checkout date && git rev-parse HEAD
set +x
pushd examples/bench-http-server
dub build -b release -q
./bench-http-server >& /dev/null &
pid=$!
sleep 5
set -x
wrk -c 1000 -d 10s http://localhost:8080/
wrk -c 1000 -d 10s http://localhost:8080/empty
wrk -c 1000 -d 10s http://localhost:8080/static/10
wrk -c 1000 -d 10s http://localhost:8080/static/1k
wrk -c 1000 -d 10s http://localhost:8080/static/10k
set +x
curl -SsL http://localhost:8080/quit
kill -9 "$pid"
popd # examples/bench-http-server
popd # from vibe.d
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment