Search found 68 matches

by Dmitry Dagaev
Thu Apr 06, 2017 6:14 pm
Forum: Co_
Topic: Co_Routines Support for Oberon
Replies: 90
Views: 643441

Re: Co_Routines Support for Oberon

Dmitry Dagaev wrote:The only reason to use ConvertThreadToFiberEx is to use FIBER_FLAG_FLOAT_SWITCH... So I met the portability problem and decided to use default behaviour.
The latest version uses ConvertThreadToFiber
by Dmitry Dagaev
Thu Apr 06, 2017 2:51 am
Forum: Co_
Topic: Co_Routines Support for Oberon
Replies: 90
Views: 643441

Re: Co_Routines Support for Oberon

The alternative way of problem solving means that starvation encourages people to use their brains effectively. At least to scale on more resources.
by Dmitry Dagaev
Wed Apr 05, 2017 5:26 pm
Forum: Co_
Topic: Co_Routines Support for Oberon
Replies: 90
Views: 643441

Re: Co_Routines Support for Oberon

Josef,
Performance benefits can be reached for background tasks. Co_ObxActions in background gains 400000 times per BlackBox ObxActions example in execution time. Why? Scheduler uses Services.Action time effectively. See ObxActions above.
by Dmitry Dagaev
Wed Apr 05, 2017 12:59 pm
Forum: Co_
Topic: Co_Routines Support for Oberon
Replies: 90
Views: 643441

Re: Co_Routines Support for Oberon

No, he has changed his version
by Dmitry Dagaev
Tue Apr 04, 2017 5:57 pm
Forum: Co_
Topic: Co_Routines Support for Oberon
Replies: 90
Views: 643441

Re: Co_Routines Support for Oberon

If RETURN is for termination only, it can be accepted. If for intermediate transfer to parent - not.
Co_ package will remain the same, as new kernel version is not applicable for me. In any case, I'll finish my own Kernel with MarkRegion support.
by Dmitry Dagaev
Tue Apr 04, 2017 2:18 pm
Forum: Co_
Topic: Co_Routines Support for Oberon
Replies: 90
Views: 643441

Re: Co_Routines Support for Oberon

RETURN transfers to parent? I dislike the idea, it changes semantics. Yield saves context as next entry point and transfers to parent. RETURN means next entry starts from the beginning of routine.
by Dmitry Dagaev
Fri Mar 31, 2017 4:28 pm
Forum: Co_
Topic: Co_Routines Support for Oberon
Replies: 90
Views: 643441

Re: Co_Routines Support for Oberon

Removing the directed transfer at all because it can be used erroneously seems quite radical to me. It is much like removing recursion because it can lead to stack overflow. This is probably the reason why I couldn't get started with the Co_ package easily. Co_ uses directed Transfer to entry type ...
by Dmitry Dagaev
Fri Mar 31, 2017 3:51 pm
Forum: Co_
Topic: Co_Routines Support for Oberon
Replies: 90
Views: 643441

Re: Co_Routines Support for Oberon

The distinction between directed and undirected coroutines is not very well established in the community. The terminology is not well established, there are a lot of various term of the same. Moreover, coroutines itself introduce GOTO-style control transfer which makes us think of a more specific c...
by Dmitry Dagaev
Fri Mar 31, 2017 3:16 pm
Forum: Co_
Topic: Co_Routines Support for Oberon
Replies: 90
Views: 643441

Re: Co_Routines Support for Oberon

Context switching masurements . In my article, mentioned above, I performed some qualitative tests, demonstrating Scheduler context switching time in comparison with threads context switching, implemented in C language. The test example consisting of 100 tasks, was checked on various implementation...
by Dmitry Dagaev
Fri Mar 31, 2017 1:06 pm
Forum: Co_
Topic: Co_Routines Support for Oberon
Replies: 90
Views: 643441

Re: Co_Routines Support for Oberon

ObxActions ObxTActions Running Co_Routine (ObxActions) and Co_Task (ObxTActions) in background. Cooperative multi-tasking via coroutines implements the ObxActions  docu example from BlackBox Obx. Since original example is the simplest one, it makes one iteration per cycle for primes calculation. In...