I think all issues of this general type are incredibly difficult to analyze 
reliably because the hardware is so darned complex now. There are so many more 
variables than back in the day when you could say "a branch consumes 'n' 
microseconds" or "'n' microseconds if taken, 'm' microseconds if not."

What about substituting a branch relative for the branch on base register? 
Trivial code change to make.

Charles

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf 
Of Jim Mulder
Sent: Friday, April 29, 2016 8:41 AM
To: [email protected]
Subject: Re: An explanation for branch performance?

> >> Well, the obvious solution is to code the eyecatcher literals 
> >> before the entry point.  It will be less obvious that the 
> >> eyecatcher is part of the program (and not the end of the previous 
> >> program) but as the technique become more widespread it should become more 
> >> trusted.
> >>
> >>
> > ​IBM has a ton of recoding to do. I've seen this type of thing in a
_lot_
> > of IBM routines.​
> >
> 
> Indeed! Including SVC routines which show up in our profiling!

  How is the sampling done for your profiling?  Keep in mind that sampling 
which is software-based and driven by external interrupts will charge the time 
spent in the SVC interrupt handler to the beginning of the SVC routine, since 
the SVC interrupt handler is disabled for external interrupts. 

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

Reply via email to