Subject: | |
From: | |
Reply To: | |
Date: | Mon, 22 Oct 2001 18:33:53 -0600 |
Content-Type: | text/plain |
Parts/Attachments: |
|
|
Ray Shahan asked:
>Given an outer block A that calls subprog E as well as 3 sub-progs B, C,
>and D, and subprogs B, C and D also call subprog E, is there really any
>measurable speed benefit to making E an RL vs. leaving it an XL? It seems
>that once the module, E, from the XL is mapped into memory, it should be
>as quick as the RL that was compiled into A, B, C and D...even though the
>manual states otherwise?
It's been a while since I read up on it, but my recollection follows:
NM object code is linked into "object modules" when building an NMPROG or
XL file. A NMPROG file normally has all the code (whether from NMOBJ or RL
files) combined into a single module. An XL file may contain multiple
modules. Calls inter-module calls (from one to another) have additional
overhead compared to intra-module calls (remaining inside the same module).
There isn't a lot of additional overhead, but if the call is done often the
overhead may become significant... especially if the called code is
comparatively quick. (If the called routine takes a substantial amount of
time to execute then the extra overhead of the inter-module call is less
likely to be noticeable.
-- Jeff Woods
"It seems...that the advance of civilization is nothing but an exercise
in the limiting of privacy." -- Isaac Asimov in Foundation's Edge (6.1)
* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *
|
|
|