× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Yes the answer is the same for both - parameters are by default passed as pointers. For programs that is the only option.

BUT for procedures the mechanism for passing those pointers is different. They are passed on the stack and not via a special system mechanism. This allows for an additional option - passing by value rather than the address. By adding the VALUE keyword to a procedure parameter's definition you cause the actual value of the variable to be copied onto the stack and not a pointer to its storage.

If you want to dig into the details try these articles: https://www.itjungle.com/2016/11/29/fhg112916-story01/ <https://www.itjungle.com/2016/11/29/fhg112916-story01/> and https://www.itjungle.com/2017/02/20/guru-parameter-passing-fundamentals-programs-versus-procedures/ <https://www.itjungle.com/2017/02/20/guru-parameter-passing-fundamentals-programs-versus-procedures/> - the second one directly addresses your question.


Jon P.


On Aug 25, 2023, at 10:23 AM, Vinay Gavankar <vinaygav@xxxxxxxxx> wrote:

Hi,

Since RPG internally passes the parm as an address of the variable, is
there any performance advantage in passing the address of the variable as a
parm instead of the variable itself when the variable is large (say 2K).

Is the answer the same when calling a program vs a procedure in a Service
Program?

TIA
Vinay
--
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related questions.



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.