Lets talk about fibers

via Digitalmars-d digitalmars-d at puremagic.com
Thu Jun 4 01:43:26 PDT 2015


On Thursday, 4 June 2015 at 07:24:48 UTC, Liran Zvibel wrote:
> Since I think you won't come up with a very good case to moving 
> them between threads on that other popular programming model,

INCOMING WORKLOAD ("__" denotes yield+delay):

a____aaaaaaa
         b____bbbbbb
         c____cccccccc
         d____dddddd
         e____eeeeeee

SCHEDULING WITHOUT MIGRATION:

CORE 1: aaaaaaaa
CORE 2: bcdef___bbbbbbccccccccddddddeeeeeee


SCHEDULING WITH MIGRATION:

CORE 1: aaaaaaaacccccccceeeeeee
CORE 2: bcdef___bbbbbbdddddd

And this isn't even a worst case scenario. Please note that it is 
common to start a task by looking up global caches first. So this 
is a common pattern:

1. look up caches
2. wait for response
3. process


More information about the Digitalmars-d mailing list