Re: Fiber overhead

2017-02-04 Thread Suliman via Digitalmars-d-learn

On Saturday, 4 February 2017 at 06:54:01 UTC, Ali Çehreli wrote:

On 02/03/2017 08:47 PM, Profile Anaysis wrote:

What is the overhead of using a fiber?


The performance overhead of call() and yield() are comparable 
to function calls because it's simply a few register 
assignments in each case. (Change the stack pointer, etc.)


Memory overhead is memory for call stack, size of which can be 
determined by the programmer.


Ali


Am I right understand that every yield(ed)/blocking function is 
delegate to processing in system thread?


But what will be if our code would do a lot of blocking 
functions? All of them will be delegate to system threads? If how 
many system threads will be used? I am asking because it will 
look like that in system threads we will get same problem that 
was solved by fibers.


Re: Fiber overhead

2017-02-03 Thread Profile Anaysis via Digitalmars-d-learn

On Saturday, 4 February 2017 at 06:54:01 UTC, Ali Çehreli wrote:

On 02/03/2017 08:47 PM, Profile Anaysis wrote:

What is the overhead of using a fiber?


The performance overhead of call() and yield() are comparable 
to function calls because it's simply a few register 
assignments in each case. (Change the stack pointer, etc.)


Memory overhead is memory for call stack, size of which can be 
determined by the programmer.


Ali


Thanks, that was what I was hoping.


Re: Fiber overhead

2017-02-03 Thread Ali Çehreli via Digitalmars-d-learn

On 02/03/2017 08:47 PM, Profile Anaysis wrote:

What is the overhead of using a fiber?


The performance overhead of call() and yield() are comparable to 
function calls because it's simply a few register assignments in each 
case. (Change the stack pointer, etc.)


Memory overhead is memory for call stack, size of which can be 
determined by the programmer.


Ali



Fiber overhead

2017-02-03 Thread Profile Anaysis via Digitalmars-d-learn

What is the overhead of using a fiber?