Thanks, John, exactly the sort of information I was looking for. Do you
recall what the hardware was?

I am leaning toward aligning it. If I can gain a couple of milliseconds of
CPU time per customer per day in return for coding + 1 & 0xfffffffe once I
think that's worth it.

OTOH, it will make the whole structure a little bit bigger. There is an
absolute downside to using more ECSA, and it also carries a performance
penalty of its own: a byte of padding decreases the likelihood that the byte
you need is already in cache.

Re-emphasizing what I said, the references in question are read-only. The
structure is effectively "write once, read many."
        
Charles

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
Behalf Of John Gilmore
Sent: Sunday, June 01, 2014 6:19 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Is there a significant performance penalty for non-aligned
operands?

There is a performance penalty.  I have measured it for aligned and
unaligned signed halfword, i.e.,  signed binary fixed(15,0), in compiled
PL/I code and found that it is usually about 13%, which may be trivial or
important depending upon context.

More important in multiple-CP environments, I think, is that there are
contexts in which alignment|non-alignment determines whether an operation is
performed as an interlocked|non-interlocked update.  See the discussion of
the ASI and AGSI instructions on page 7-25 of the current PrOp.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to