goroutines vs vibe.d tasks
Alex Parrill via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Tue Jun 30 08:20:55 PDT 2015
On Tuesday, 30 June 2015 at 15:18:36 UTC, Jack Applegame wrote:
> Just creating a bunch (10k) of sleeping (for 100 msecs)
> goroutines/tasks.
>
> Compilers
> go: go version go1.4.2 linux/amd64
> vibe.d: DMD64 D Compiler v2.067.1 linux/amd64, vibe.d 0.7.23
>
> Code
> go: http://pastebin.com/2zBnGBpt
> vibe.d: http://pastebin.com/JkpwSe47
>
> go version build with "go build test.go"
> vibe.d version built with "dub build --build=release test.d"
>
> Results on my machine:
>
> go: 168.736462ms (overhead ~ 68ms)
> vibe.d: 1944ms (overhead ~ 1844ms)
>
> Why creating of vibe.d tasks is so slow (more then 10 times)???
Use GDC or LDC for profiling code; the DMD optimizer isn't as
good.
Also, its likely that go has spent a lot more effort optimizing
coroutines specifically than D has.
More information about the Digitalmars-d-learn
mailing list