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
