On Sun, Nov 13, 2022 at 5:57 AM Mike Cowlishaw <m...@speleotrove.com> wrote:

>
>
>
> I'm not familiar with internals of ooRexx, but reading this:
>
> I tried to "tune" Virtualbox to get rid of the timing error
> problems but every attempt actually made things worse, with
> more than half of the timing tests failing. I have reset
> Virtualbox to default values now. What *DID* help on the
> other hand was to deprive the VMs of resources. Changing from
> 2 cores/4 GB memory to 1 core/ 2 GB memory made all *nixes
> pass all tests, so it looks like the problem were related to
> Virtualbox rather than to ooRexx. Only exception are the
> BSDs, that are still a bit problematic to test. But all
> platforms (Win macOS Linux Unix) build without error now.
>
>
> makes me wonder a bit: by reducing to one core then anything multithreaded
> is forced to run on a single thread which makes race conditions much less
> likely than when on multicore where multiple threads can run
> simultaneously.
>
> ooRexx is not truly multithreaded. Only one thread at a time is allowed to
run Rexx code at a time, with a cooperative internal dispatch mechanism.
Only threads running external code (e.g., calls to native libraries or
running commands) truly run concurrently.  Multiple cores might affect the
timing of which thread happens to get permission to run next, but which
thread gets permission has always been unpredictable.



>
> Which means that there can be no unexpected time glitches between threads
> since they run consecutively on one core. And that ooRexx handles any such
> race conditions GREAT. This shows IMO how robust ooRexx 5 has become. Gold
> standard ;-)
>
> Right, but in the real world it will be running on multicore machines...
>

The failing test cases run just fine on multicore machines, they only seem
to fail in multicore virtual machines. Also, the failures don't really
appear to be race conditions, but rather checks in timer values that are
falling outside expected ranges. There's something funny going on with the
clocks in the virtual machines in those situations.



>
> Mike
> _______________________________________________
> Oorexx-devel mailing list
> Oorexx-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/oorexx-devel
>
_______________________________________________
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to