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