On 18 October 2016 at 12:11, Martin Truebner <mar...@pi-sysprog.de> wrote:
> I have no figures - but consider the following:
> TRT does a lockup for each and every char until terminating char is
> found or the maximum length is reached- the lockup is done against a
> table of 256 char.
> SRST does a check of each char against a single char (plus the
> termination char).
> I would expect SRST to be faster - but have no data to prove it.
There is also the long-known performance problem with TRT (and TR)
that its definition requires that "Access exceptions are recognized
only for those bytes in the second operand which are actually
required. Access exceptions are not recognized for those bytes in the
first operand which are to the right of the first byte for which a
nonzero function byte is obtained."
So if the table (second operand) is near the edge of a page, the
machine cannot decide in advance if there will be a program check for
access (storage key, DAT, etc.); rather, this is data dependent
(actually for both operands). This worked well on S/360, but not so
well on a modern machine. They have changed these rules for TRTE to be
more hardware architect friendly.