That's a lesson that they learned on Multics way back one; worry about the 
design first. During an I/O redesign, they wrote PL/I code to replace code 
originally written in ALM (assembler), and the PL/I version was faster. Not 
because of the compiler, but because of the improved design.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3

________________________________________
From: IBM Mainframe Discussion List [[email protected]] on behalf of 
Colin Paice [[email protected]]
Sent: Monday, July 11, 2022 1:19 PM
To: [email protected]
Subject: Re: NOTSP The Latin of Software Code Is Thriving - The New York Times

My comments about
1. A million times a second... etc

Were from about 30 years ago, before optimization improved.

I know that the "hot" instruction for MQ on z/OS that showed up in
profiling,  was the Load/Update Address of the next free slot in the trace
buffer in ECSA.
When there were many concurrent threads using MQ trace, they all used this
field.  Sometimes the field was on the same chip.  Sometimes it was in a
different "book"  (and so the time to get this field was 1000 times the
duration if it was in the same CPU)
By giving each TCB its own trace buffer this hotspot disappeared!

The compiler could not optimize this. Only a change of design could fix it.

Colin

----------------------------------------------------------------------
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

Reply via email to