The part that I consider to be "not very useful" is the specific units that
are used. The relative number, whether REXXCPS, MIPS, BIPS, or something
else is very useful for exactly the purpose you describe. It's the name or
"unit of measure" you attach to the number that I think is somewhat less
than useful. You could call it "processor inches" if you want to, and the
usefulness stays the same. As long as you keep in mind the limitations of
the measurement technique, it really doesn't matter just what units you
prefer to attach to the number.
Mike Hammock
--------------------------------------------------
From: "Les Koehler" <vmr...@tampabay.rr.com>
Sent: Saturday, June 11, 2011 5:05 AM
To: <IBMVM@LISTSERV.UARK.EDU>
Subject: Re: REXXCPS EXEC
Actually, it is *most* useful to the individual user! I've used it over
the years to compare different pc systems and new releases of Rexx on VM
and ooRexx on the pc.
Before I retired from IBM, I used it regularly to give me an idea of how
the customer would perceive a change to a Rexx application, since I would
have to promote the application from Dev -> Test -> 3 production systems.
Once the compiler was released, the differences between hardware pretty
much became a moot point.
On the VM system I have access to, I get from 6800 to 26000 REXXCPS
because VM is emulated under Unix. So not all the numbers are large!
Obviously that system wouldn't be appropriate for a large, interpreted
Rexx application. In fact, it takes it 10 seconds to run REXXCPS.
As someone pointed out on the RexxLA list, the real value of REXXCPS is
that it has been there for years (since 1989), letting us see the progress
that hardware and software have made over time.
Mike Cowlishaw, inventor of Rexx and retired IBM Fellow, developed REXXCPS
after analyzing thousands of lines of Trace output from IBM volunteers all
over the world, so the algorithms are representative of production code of
the time.
Les
Mike Hammock wrote:
Personally, I would not want to try to defend either one as being
especially useful/meaningful, especially to an individual user. Is "REXX
Clauses per Second" any more meaningful to typical users than "Millions
of instructions per second"? They are really basically the same number,
just different unit of measure. Either one could be used to compare one
dimension of performance between two processors and that is about all.
The raw REXXCPS numbers are getting so large now (2,622,295 in the
example) that they are cumbersome so the MIPS numbers are a bit more
convenient. Of course, pretty soon we may have to start using BIPS
(Billions of .....). Let's see, what word can we find that starts with
"B" that means "Meaningless"?
Mike Hammock
--------------------------------------------------
From: "Les Koehler" <vmr...@tampabay.rr.com>
Sent: Friday, June 10, 2011 12:58 PM
To: <IBMVM@LISTSERV.UARK.EDU>
Subject: Re: REXXCPS EXEC
That's an interesting observation, but what does it have to do with how
much work a regular VM userid can get done using Rexx? That's the whole
point of REXXCPS.
Les
Mike Hammock wrote:
I have found in the past that dividing the REXX CPS number by 1800
gives an approximation(!) of the general MIPS rating.
Those of you with access to various systems might want to see if this
comes anywhere to close for your system. This would make the system
below (2622295 CPS) about 1456 MIPS.
Just remember that REXXCPS is a single thread; it can only test a
single processor/core. If you have a multi-processor system you have
to multiple by the number of processors and "adjust" for N-way
"interference".
Mike Hammock
--------------------------------------------------
From: "Bruce Hayden" <bjhay...@gmail.com>
Sent: Friday, June 10, 2011 10:12 AM
To: <IBMVM@LISTSERV.UARK.EDU>
Subject: Re: REXXCPS EXEC
I ran it on a 2817-742 (i.e. a z196):
rexxcps
----- REXXCPS 2.1 -- Measuring REXX clauses/second -----
REXX version is: REXX370 4.02 01 Dec 1998
System is: CMS
Averaging: 100 measures of 100 iterations
Calibration (empty DO): 0.00001351 secs (average of 100)
Spooling trace NOTERM
Spooling now back on TERM
Total (full DO): 0.03813453 secs (average of 100 measures of 100
iterations)
Time for one iteration (1000 clauses) was: 0.0003813453 seconds
Performance: 2622295 REXX clauses per second
Ready; T=3.76/3.76 10:06:06
But - you're probably more interested in the numbers after compiling
the exec. (I noticed in the table that it also has the results after
the exec is compiled.)
rexxcpsc
----- REXXCPS 2.1 -- Measuring REXX clauses/second -----
REXX version is: REXXC370 4.02 23 Dec 1999
System is: CMS
Averaging: 100 measures of 100 iterations
Calibration (empty DO): 0.00000467 secs (average of 100)
Spooling trace NOTERM
Spooling now back on TERM
Total (full DO): 0.00707880 secs (average of 100 measures of 100
iterations)
Time for one iteration (1000 clauses) was: 0.000070788 seconds
Performance: 14126688 REXX clauses per second
Ready; T=0.69/0.69 10:06:10
On Fri, Jun 10, 2011 at 6:18 AM, Les Koehler <vmr...@tampabay.rr.com>
wrote:
I'm curious... Has anyone with real mainframe hardware (no emulation)
recently run REXXCPS that MFC wrote way back when?
See:
http://speleotrove.com/misc/rexxcpslist.html
for his collection of data.
If you've never seen REXXCPS, there's a link to it at the top of the
page.
Just remove the hash-bang usr/bin to run it on a VM userid.
Les
--
Bruce Hayden
z/VM and Linux on System z ATS
IBM, Endicott, NY