On Wed, 14 Jan 2015 16:51:52 -0800, Tom Ross wrote:

>Also, does everyone realize that AMODE 64 code will run slower than AMODE 31 
>code?

I have been puzzling over this since I first read it yesterday. It is difficult 
for me to 
understand why the processor would be significantly slower when running AMODE 
64.

Certainly a program that does nothing but a very large number of L and ST 
instructions 
widely dispersed across memory would run a little faster than an equivalent 
program that 
does an equal number of LG and STG instructions would access twice as much 
memory 
and that could result in more cache misses, hence increased CPU time. Perhaps 
there are 
other situations that could cause an increase in CPU time.

There is another factor, though, that makes this understandable, to me at 
least. The last I 
heard, the only way that LE enabled programs would run AMODE 64 is with XPLINK 
64 program 
linkage. When one program calls another using XPLINK linkage that is already 
initialized, the 
linkage is a little faster than standard linkage. However, when an XPLINK 
program calls a 
non-xplink program, the linkage is MUCH slower.

Why does this matter? Any time a system service must be called that will use 
standard linkage, 
LE must switch between XPLINK and non-XPLINK. One such system service involves 
I/O. GET 
and PUT are called using standard linkage, so any XPLINK program that does lots 
of GETs and/or 
PUTs will suffer from additional linkage overhead.

-- 
Tom Marchant

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

Reply via email to