ooRexx has two main issues: its a superset of REXX, which is a subpar
programming language, and it consumes a lot of CPU resources. Each
language clause in ooRexx is a C++ object that invokes dynamic dispatch
whenever it's executed. Unlike most other sensible programming
languages, which compile to bytecode and use a virtual machine, ooRexx
does not. When I benchmarked OoRexx against Lua, I was surprised to find
that it was almost 100 times slower. I used valgrind to profile ooRexx's
performance and discovered that most of the time was spent allocating
and marking objects for garbage collection. These objects were language
metadata used by the interpreter. ooRexx is an example of how not to
implement a language interpreter in C++.
On 28/2/23 20:28, Seymour J Metz wrote:
What about Java? How well does JIT work?
The gold standard for REXX is ooRexx, but IBM has not seen fit to integrate it
into z/OS or z/VM.
However, for off the shelf package libraries, Perl and Python are admittedly
ahead of REXX. What are the Python and Ruby equivalents of CPAN?
I've found extending REXX for CMS and TSO to be easy, although admittedly
assembler is mothers' milk to me and I didn't have to deal with LE issues.
--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
________________________________________
From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of
David Crayford [dcrayf...@gmail.com]
Sent: Tuesday, February 28, 2023 12:47 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: zOSMF and zOWE for non-mainframers
On 25/2/23 01:23, Farley, Peter wrote:
Python on the mainframe is pretty good, but still can't beat out Rexx in
performance even when the Rex script needs to use BPXWUNIX and friends to
access z/OS Unix file systems,
I have conducted a series of benchtests, and the results suggest that
REXX is not as fast as Python. In my testing, I compare the performance
of C, Lua, Python, and REXX, and the results are clear: C is the
fastest, followed by Lua, which is within an order of magnitude of C.
Python comes next, within an order of magnitude of Lua, and REXX
consistently performs the poorest. In addition to the performance
factor, the vast Python ecosystem compared to the limited options
available for REXX also make it an easy decision. Python is also simpler
to extend with packages, while REXX requires more effort and potentially
complex steps, such as using modern libraries that require Language
Environment (LE).
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN