goroutines vs vibe.d tasks
Etienne Cimon via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Thu Jul 2 07:59:03 PDT 2015
On Wednesday, 1 July 2015 at 18:09:19 UTC, Mathias Lang wrote:
> 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)???
>
> In your dub.json, can you use the following:
>
> "subConfigurations": {
> "vibe-d": "libasync"
> },
> "dependencies": {
> "vibe-d": "~>0.7.24-beta.3"
> },
>
>
> Turns out it makes it much faster on my machine (371ms vs
> 1474ms). I guess it could be a good thing to investigate if we
> can make it the default in 0.7.25.
I don't benchmark my code frequently, but that's definitely
flattering :)
I hope we can see a release LDC 2.067.0 soon so that I can
optimize the code further. I've given up on 2.066 a while back
More information about the Digitalmars-d-learn
mailing list