vibe.d benchmarks
Daniel Kozak via Digitalmars-d
digitalmars-d at puremagic.com
Thu Dec 31 03:46:59 PST 2015
On Wednesday, 30 December 2015 at 20:32:08 UTC, yawniek wrote:
>>>> Sönke is already on it.
>>>>
>>>> http://forum.rejectedsoftware.com/groups/rejectedsoftware.vibed/post/29110
>
> i guess its not enough, there are still things that make vibe.d
> slow.
>
> i quickly tried
> https://github.com/nanoant/WebFrameworkBenchmark.git
> which is really a very simple benchmark but it shows about the
> general overhead.
>
> single core results against go-fasthttp with GOMAXPROCS=1 and
> vibe distribution disabled on a c4.2xlarge ec2 instance
> (archlinux):
>
> vibe.d 0.7.23 with ldc
> Requests/sec: 52102.06
>
> vibe.d 0.7.26 with dmd
> Requests/sec: 44438.47
>
> vibe.d 0.7.26 with ldc
> Requests/sec: 53996.62
>
> go-fasthttp:
> Requests/sec: 152573.32
>
> go:
> Requests/sec: 62310.04
>
> its sad.
>
> i am aware that go-fasthttp is a very simplistic, stripped down
> webserver and vibe is almost a full blown framework. still it
> should be D and vibe.d's USP to be faster than the fastest in
> the world and not limping around at the end of the charts.
My results from siege(just return page with Hello World same as
WebFrameworkBenchmark):
siege -c 20 -q -b -t30S http://127.0.0.1:8080
vibed: --combined -b release-nobounds --compiler=ldmd
Transactions: 968269 hits
Availability: 100.00 %
Elapsed time: 29.10 secs
Data transferred: 12.00 MB
Response time: 0.00 secs
Transaction rate: 33273.85 trans/sec
Throughput: 0.41 MB/sec
Concurrency: 19.62
Successful transactions: 968269
Failed transactions: 0
Longest transaction: 0.04
Shortest transaction: 0.00
vibed(one thread):
Transactions: 767815 hits
Availability: 100.00 %
Elapsed time: 29.94 secs
Data transferred: 9.52 MB
Response time: 0.00 secs
Transaction rate: 25645.12 trans/sec
Throughput: 0.32 MB/sec
Concurrency: 19.66
Successful transactions: 767815
Failed transactions: 0
Longest transaction: 0.02
Shortest transaction: 0.00
GOMAXPROCS=4 go run hello.go
Transactions: 765301 hits
Availability: 100.00 %
Elapsed time: 29.52 secs
Data transferred: 8.03 MB
Response time: 0.00 secs
Transaction rate: 25924.83 trans/sec
Throughput: 0.27 MB/sec
Concurrency: 19.68
Successful transactions: 765301
Failed transactions: 0
Longest transaction: 0.02
Shortest transaction: 0.00
GOMAXPROCS=1 go run hello.go
Transactions: 478991 hits
Availability: 100.00 %
Elapsed time: 29.47 secs
Data transferred: 5.02 MB
Response time: 0.00 secs
Transaction rate: 16253.51 trans/sec
Throughput: 0.17 MB/sec
Concurrency: 19.75
Successful transactions: 478992
Failed transactions: 0
Longest transaction: 0.02
Shortest transaction: 0.00
UnderTow (4 cores):
Transactions: 965835 hits
Availability: 100.00 %
Elapsed time: 29.41 secs
Data transferred: 10.13 MB
Response time: 0.00 secs
Transaction rate: 32840.36 trans/sec
Throughput: 0.34 MB/sec
Concurrency: 19.57
Successful transactions: 965836
Failed transactions: 0
Longest transaction: 0.01
Shortest transaction: 0.00
Kore.io (4 workers)
Transactions: 2043 hits
Availability: 100.00 %
Elapsed time: 29.61 secs
Data transferred: 0.02 MB
Response time: 0.29 secs
Transaction rate: 69.00 trans/sec
Throughput: 0.00 MB/sec
Concurrency: 19.96
Successful transactions: 2043
Failed transactions: 0
Longest transaction: 0.55
Shortest transaction: 0.00
So it seems vibed has the best results :)
More information about the Digitalmars-d
mailing list