Search found 68 matches
- Thu Apr 13, 2017 7:47 pm
- Forum: Co_
- Topic: Co_Routines Support for Oberon
- Replies: 90
- Views: 644833
Re: Co_Routines Support for Oberon
More precise measurements with background tasks. I've compared calculation time for ObxCoroutines.RunPrimes and Co_ObxActions.StartPrimes. Initial conditions: 1. modified Co_ObxActions to set Co.Yield in the same place, as in ObxCoroutines. 2. excluded time consuming primes logging calls. 3. set 100...
- Thu Apr 13, 2017 3:57 pm
- Forum: Co_
- Topic: Co_Routines Support for Oberon
- Replies: 90
- Views: 644833
Re: Co_Routines Support for Oberon
Checked with last build.
- Wed Apr 12, 2017 7:16 pm
- Forum: Co_
- Topic: Co_Routines Support for Oberon
- Replies: 90
- Views: 644833
Re: Co_Routines Support for Oberon
Extra cleaning was added, fixed, thanks.Josef Templ wrote:there is no transfer to main after detecting a trap.
- Wed Apr 12, 2017 7:00 am
- Forum: Co_
- Topic: Co_Routines Support for Oberon
- Replies: 90
- Views: 644833
Re: Co_Routines Support for Oberon
Dear Helmut, The Co_ subsystem is used in several projects, at least it is implemented within Post-Accident Monitoring system for Rostov-1 NPP. I use some preprocessor for multi-platform development, so Co_ is for Win/Linux BlackBox/XDS/Ofront. The cross-platform solution works fine on all platforms...
- Tue Apr 11, 2017 6:20 pm
- Forum: Co_
- Topic: Co_Routines Support for Oberon
- Replies: 90
- Views: 644833
Re: Co_Routines Support for Oberon
The change in the 'Start' procedure you mentioned is not really required That was the different case. In Co_ObxSameFringe example r1.Start(r1) was called twice for the same coroutine. It results in BB crash, because of Kernel.RemoveCoroutine(c.impl) is called, but NEW(c.impl) not. I fixed it. The p...
- Mon Apr 10, 2017 8:18 pm
- Forum: Co_
- Topic: Co_Routines Support for Oberon
- Replies: 90
- Views: 644833
Re: Co_Routines Support for Oberon
Josef, If I have different interfaces for Coroutines and Stack&Trap Cleaners, I can immediately add Stack&Trap Clean in Co.Stop implementation. This demonstrates the benefit of development in 2 different dimensions. P.S. Nevertheless, your Co_ patch was effective and arguments about consiste...
- Mon Apr 10, 2017 7:51 pm
- Forum: Co_
- Topic: Co_Routines Support for Oberon
- Replies: 90
- Views: 644833
Re: Co_Routines Support for Oberon
The only surprise was that the Co_ author previously thought that it is not possible. Seeing is believing ;) Here is a straightforward (1:1) adaptation of your module Co_Routines to the Kernel's coroutine services. Why did you bring these daggers from the place? They must lie there: go carry them; ...
- Sun Apr 09, 2017 9:57 am
- Forum: Co_
- Topic: Co_Routines Support for Oberon
- Replies: 90
- Views: 644833
Re: Co_Routines Support for Oberon
Let me add one more comment about a possible misunderstanding: Kernel.Coroutine and Coroutines.Coroutine are not the same. Kernel.Coroutine is the low-level implementation part of Coroutines.Coroutine (the fiber and the stack range info). Kernel.Coroutine is in no way specific for Coroutines but eq...
- Sat Apr 08, 2017 7:29 pm
- Forum: Co_
- Topic: Co_Routines Support for Oberon
- Replies: 90
- Views: 644833
Re: Co_Routines Support for Oberon
When I put the Yield (or Sleep(0)) into the innermost loop I get about 16 seconds with Co_ and about 13 seconds in my version (for to = 256 and attempts = 400000).The differences are explained by the different scheduling strategies. Good results. 40% load by background tasks is set for Co_ Schedule...
- Fri Apr 07, 2017 8:08 am
- Forum: Co_
- Topic: Co_Routines Support for Oberon
- Replies: 90
- Views: 644833
Re: Co_Routines Support for Oberon
Josef,
Dining philosophers is an example of cooperative multitasking problem in Co_. There is the concurrency for limited resources (forks) among tasks. But there in no necessity of data protection, important for preemptive threads. Semaphores are used for flow control only.
Dining philosophers is an example of cooperative multitasking problem in Co_. There is the concurrency for limited resources (forks) among tasks. But there in no necessity of data protection, important for preemptive threads. Semaphores are used for flow control only.