This question touches a nerve. In my very first job in IT, I was tasked to 
(re)write a program that tabulated the contents of a large master file. The 
idea was to examine each record and record its 'type' in a table. This was 
1978. I was fresh out of programming school. Sort of starry eyed, I guess. 

I found a manual with instruction timings and settled on the this sequence to 
increment each bucket:

   L      R1,COUNTER
   LA   R1,1(,R1)
   ST    R1,COUNTER 

I can tell you that the program ran like a bat out hell. I was an application 
programmer trainee who heard from the sysprog staff that they used my program 
to benchmark new hardware! After I had moved on to other opportunities, I 
reflected on a huge oversight. In 1980--before the advent of XA--this logic 
would fail utterly beyond 16M records in any bucket. I never heard what 
happened, but I came to believe that outright speed was the wrong metric. Be 
careful to set the right goal. 

J.O.Skip Robinson
Southern California Edison Company
Electric Dragon Team Paddler 
SHARE MVS Program Co-Manager
323-715-0595 Mobile
626-543-6132 Office ⇐=== NEW

-----Original Message-----
From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> On Behalf Of 
Brian Chapman
Sent: Monday, August 12, 2019 5:48 PM
Subject: (External):Instruction speeds

Hi everyone,

I did some searching, but I didn't find anything that really discussed this on 
the topic that I'm interested. Is there anything published that compares the 
cycle times of the most used instructions?

For example; moving an address between areas of storage. I would assume that 
executing a LOAD and STORE would be much quicker than executing a MVC.

Or executing a LOAD ADDRESS to increment a register instead of ADD HALF WORD.

Or does this really matter as much as ordering the instructions so they are 
optimized for the pipeline?

For IBM-MAIN subscribe / signoff / archive access instructions,
send email to with the message: INFO IBM-MAIN

Reply via email to