David;
A service program's procedure(s) is bound at program creation. The performance of a call to a service program procedure is the equivalent to a call to an internal procedure, which is equivalent to a subroutine. There are differences in performance, but you would need billions of calls to each to start seeing them.
If a service program is recompiled/recreated then all the bound links to it's procedures are dropped. When a call (or at program initialization???) to a dropped procedure is executed the OS does a "dynamic bind" to that procedure in the service program and rebinds the procedure. From that point on the performance is exactly the same as before the service program was recreated. This allows you to modify a procedure without having to recompile the world.
How parameters, what type, and/or the size of the parameters passed effect the performance of a call to a procedure. (See several previous discussions on this list) but, in general, the worst performing procedure call, internal or external (service program), is orders of magnitude faster than a similar program call.
Duane Christen
Duane Christen
Software Developer Analyst II
(319) 790-7162 Office
(319) 431-6227 Cell
dchristen@xxxxxxxxxxxxx <mailto:dchristen@xxxxxxxxxxxxx>
Visit PAETEC.COM <
http://www.paetec.com>
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of David FOXWELL
Sent: Tuesday, February 24, 2009 8:33 AM
To: RPG programming on the IBM i / System i
Subject: Bind by reference doesn't mean dynamic call?
Having a problem explaining to colleagues in a world without service programs that using them does not mean dynamic calls and thus poor performance.
If I understand correctly, the first call is akin to being dynamic, but afterwards the link between program and service program is static and therefore as fast as a module bound by copy.
Anyone help me out in simple English?
Thanks
--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/rpg400-l.
As an Amazon Associate we earn from qualifying purchases.