On Sat, 08 Aug 2015 16:06:35 GMT, Yazan D wrote:
The code I'm using is available here.
On my windows 8.1 laptop:
I tried this with ./ab -c 1 -n 50000 http://127.0.0.1:8080
Server Software: vibe.d/0.7.24
Server Hostname: 127.0.0.1
Server Port: 8080
Document Path: /\=
Document Length: 83 bytes
Concurrency Level: 1
Time taken for tests: 18.917 seconds
Complete requests: 50000
Failed requests: 0
Non-2xx responses: 50000
Total transferred: 11500000 bytes
HTML transferred: 4150000 bytes
Requests per second: 2643.13 [#/sec] (mean)
Time per request: 0.378 [ms] (mean)
Time per request: 0.378 [ms] (mean, across all concurrent requests)
Transfer rate: 593.67 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.6 0 5
Processing: 0 0 1.1 0 5
Waiting: 0 0 1.0 0 5
Total: 0 0 1.2 0 5
Percentage of the requests served within a certain time (ms)
50% 0
66% 0
75% 0
80% 0
90% 0
95% 5
98% 5
99% 5
100% 5 (longest request)
With your code in vibe.d and libevent in release mode:
C:\Users\Etienne_2\documents\yula> dub run --build=release
Performing "release" build using dmd for x86.
Building vibe-d 0.7.24-rc.2+commit.3.g3d0974f configuration "libevent"...
Building example ~master configuration "application"...
Linking...
Copying files for vibe-d...
Running .\example.exe
min : 0000.33 ms
max : 0003.88 ms
sum : 19967.09 ms
mean: 0000.40 ms
rps : 02504.1 rps
Pretty much the same ... ab might have an advantage if it leaves some headers out, I didn't get more into depth about it, I'll try and understand how you're getting those results.
I tried using libasync, and I get an exception everytime at the 100th request(!?).
Which libasync version did you use for this?