Thread overview
Fiber overhead
Feb 04, 2017
Profile Anaysis
Feb 04, 2017
Ali Çehreli
Feb 04, 2017
Profile Anaysis
Feb 04, 2017
Suliman
February 04, 2017
What is the overhead of using a fiber?
February 03, 2017
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

February 04, 2017
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.
February 04, 2017
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.