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