HP3000-L Archives

October 2001, Week 4

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Jeff Woods <[log in to unmask]>
Reply To:
Jeff Woods <[log in to unmask]>
Date:
Mon, 22 Oct 2001 18:33:53 -0600
Content-Type:
text/plain
Parts/Attachments:
text/plain (29 lines)
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 *

ATOM RSS1 RSS2