Skynet 1M Fiber microbenchmark in D

Biotronic simen.kjaras at gmail.com
Wed Oct 18 11:04:10 UTC 2017


On Wednesday, 18 October 2017 at 11:01:56 UTC, Per Nordlöw wrote:
> On Wednesday, 18 October 2017 at 09:01:30 UTC, Per Nordlöw 
> wrote:
>> Creates an actor (goroutine, whatever), which spawns 10 new 
>> actors, each of them spawns 10 more actors, etc. until one 
>> million actors are created on the final level. Then, each of 
>> them returns back its ordinal number (from 0 to 999999), which 
>> are summed on the previous level and sent back upstream, until 
>> reaching the root actor. (The answer should be 499999500000).
>>
>> See also: https://github.com/atemerev/skynet
>
> I Fibers aren't supposed to take any parameters how are we 
> supposed to pass values to it during creation?

class MyFiber : Fiber {
     this(int arguments, string go, float here) {
         super(&run);
         // Save arguments somewhere
     }
     void run() {
         // Use arguments here.
     }
}

--
   Biotronic


More information about the Digitalmars-d-learn mailing list