Charles:
On Nov 30, 2015, at 7:59 AM, Charles Mills wrote:
Sorry. MSUs are *incredibly* important to some (most?) customers.
They are a
major buy/no-buy decider. I cannot ship z900 code and shrug my
shoulders
about performance on a z13. IBM (as an example) has come to realize
that
customers are not willing to run S/390 instruction set COBOL
executables on
a z13 -- witness the Binary Optimizer. I get paid to be concerned
about
this stuff and I take the responsibility to live my life in a way that
avoids ulcers. Shipping the source is utterly out of the question,
both for
intellectual property reasons and because at more and more
customers even
coding a Rexx script is beyond the local programming abilities:
they could
never compile the code successfully -- and many are so busy
(understaffed?)
they would not be willing to take the time even if they could.
At some sites we process millions of events per day per LPAR. A
millisecond
per event is thousands of CPU seconds per day.
let the responsibility lie with the customer
Customers basically pay us to take that responsibility.
I don't know what your company sells and wonder why anyone would pay
"extra" for a few seconds of cpu savings gain.
I suspect you (or your management) is making a mountain out of a mole
hill.
Isn't the main idea for any product to run transparently an any Z
Compatible CPU?
Saving a few seconds is not conducive to any real life situation
unless it is a transaction oriented system.
So if its not transaction oriented then don't worry be happy.
Ed
you will always get an 0C1 if you execute the instruction on a
machine
that is incapable of executing that instruction
No argument there! <g>
Seriously, thanks for your input.
Charles
-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-
[email protected]] On
Behalf Of Ed Gould
Sent: Sunday, November 29, 2015 4:22 PM
To: [email protected]
Subject: Re: Straightforward way to determine hardware architecture
level?
Charles,
I have been watching this thread and if I am not mistaken you want
to know
which instructions are available (or not) at execution time.
I am not knowledgeable of c/c++ but unless you compile the program
at run
time (with the correct arch type) you will always get an 0C1 if you
execute
the instruction on a machine that is incapable of executing that
instruction. I would suggest that you compile at the lowest level and
therefore should run on all types of the machine. If you are
concerned about
"efficiency" there is no real answer and you are exercising a way
to get a
medical condition(ulcer). Tell your boss to either ship the source and
compile it whenever the machine type changes (make the customer do
it).
OR just ship at the lowest architected of the Z models or let the
customer
do it.
We are probably talking about a few CPU seconds or there unless
this is a
MAJOR usage animal. Then I would suggest let the responsibility
lie with
the customer.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN