www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Fiber overhead

reply Profile Anaysis <PA gotacha.com> writes:
What is the overhead of using a fiber?
Feb 03
parent reply =?UTF-8?Q?Ali_=c3=87ehreli?= <acehreli yahoo.com> writes:
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
Feb 03
next sibling parent Profile Anaysis <PA gotacha.com> writes:
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.
Feb 03
prev sibling parent Suliman <evermind live.ru> writes:
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.
Feb 04