Almost a week ago Jean Louis Faucher registered feature request "794 
Concurrency request", cf.
<https://sourceforge.net/p/oorexx/feature-requests/794/> together with a patch 
that implements the
feature request. So far there have been no comments, hence "requesting for 
comments (RFC)" here as
it may be the case that the RFE has been overlooked.

---

IMHO this RFE is incredible helpful for debugging multi-threaded Rexx programs 
and for understanding
how ooRexx dispatches multithreaded code.

The way Jean Louis devised the implementation has practically no impact on the 
interpreter (unless
one defines an environment variable "RXTRACE_CONCURRENCY=on" modelled after the 
existing
"RXTRACE=ON" environment variable in which case helpful information gets 
generated for prefixing
each trace output statement) makes it easy even for beginners (= students) to 
get insight and
understand how ooRexx executes multithreaded programs. Some problems rooted in 
multithreaded Rexx
code can be quickly located, understood and resolved with this feature.

Having tested this concurrency trace feature with the most challenging JavaFX 
ooRexx programs I have
been really impressed with the results. Using the ooRexx program 
"samples/tracer.rex" (included in
the patch) to render the massive concurrency trace output of some JavaFX ooRexx 
programs to csv and
importing the concurrency trace into a spreadsheet (e.g. Excel) makes it 
possible to analyze such
massive concurrency traces in every possible detail using the spreadsheet 
features (e.g. filtering
for a specific ooRexx interpreter instance or specific threads, pivots and the 
like). Therefore I
uploaded one such test to this RFE such that one can directly get at the 
massive concurrency trace,
the csv file created by "tracer.rex" from it and an Excel spreadsheet which was 
used to import the
generated csv file. (I wished this feature had been available when devising 
some of the BSF4ooRexx
JavaFX samples, which would have saved me literally weeks of debugging!)

The patch implementing RFE 794 makes it really easy for ooRexx programmers to 
understand and to
debug multithreaded ooRexx programs, saving them a *lot* of time trying to 
understand what happens,
how concurrent statements get executed by the interpreter(s) and locating 
coding errors!

---rony




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

Reply via email to