× 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.



Stuart: isn't it true that all that observability stuff doesn't matter when it's executing - only the executable code is actually taking up working RAM? Except of course when you're debugging, but that's not the problem here.

Roger: as noted earlier in the thread, multiply "a few kb"or possibly a few mb by 10,000.


On 3/18/2017 1:04 PM, Stuart Rowe wrote:
I did not catch if you had removed observability before comparing the
compiled code. Are you using the object size from the object description?
If the program retains the observable debugging information, then I would
expect the total size of the object to increase as you add more source code
(and hence a longer listing as well) since it is also counted in the total
object size.

Stu


On Thu, Mar 16, 2017 at 1:36 PM, Roger Harman <roger.harman@xxxxxxxxxxx>
wrote:

Seriously? Someone is worried about a (very) few kb?

Your managements priorities are way out of whack if this is a concern.

Roger Harman
COMMON Certified Application Developer - ILE RPG on IBM i on Power








From: RPG400-L <rpg400-l-bounces@xxxxxxxxxxxx> on behalf of Jon Paris <
jon.paris@xxxxxxxxxxxxxx>
Sent: Thursday, March 16, 2017 9:45 AM
To: Rpg400 Rpg400-L
Subject: Re: Compiled program size when /INCLUDEing consts and prototypes

Are you sure that what you are seeing is not simply a reflection of an
increase in the "What Used" information stored in the PGM object?

Within the compiler I believe that there's constant folding going on so
that storage is not wasted with multiple names being used for the same
value - so I find it hard to believe that unused constants are "wasting"
storage.

Jon Paris

www.partner400.com


Partner400 - Your partner in iSeries education
www.partner400.com
If you are looking for the very best in IBM i* Education, Consulting and
Mentoring services you have come to the right place! We are dedicated to
helping our ...

www.SystemiDeveloper.com


System i Developer - Home Page
www.systemideveloper.com
Welcome. Welcome to System i Developer, a consortium of top experts and
educators on IBM i technology. If you develop or manage RPG/DB2
applications, we can help you ...


On Mar 16, 2017, at 12:36 PM, Charles Wilt <charles.wilt@xxxxxxxxx>
wrote:
So I've got a simple RPGLE program...

/FREE
dsply 'Hello World';
*INLR=*ON;
return;
/END-FREE

Compiled with:
OPTION(*NOUNREF) DBGVIEW(*NONE) OPTIMIZE(*FULL) TGTRLS(*CURRENT)

I've also got two /INCLUDE files, one with prototypes and one with
constant
definitions.

I was surprised to find that static storage appears to go up about 16
bytes
per prototype; even though none of the procedures are called.

I was even more surprised to find that program size seems to up 4KB if I
include both prototypes & constant files; if I only include one of them,
it
doesn't change. However, if I cut down the number of PR's &
CONSTs...then
the program size goes back down 4KB.

Can anyone (Barbara :) ) provide some insight into this madness?

I'm trying to argue that this style of using PRs
/define inc_myfun1_pr
/define inc_myfun2_pr
/define inc_myfun3_pr
/include MYPROTOS
/undefine inc_myfun1_pr
/undefine inc_myfun2_pr
/undefine inc_myfun3_pr

To only include the prototypes of procedures you need to call is silly.

Additionally, I'm arguing for having a STDCONST file of the most used
constants is a good idea. Rather than defining the constants in each
program.

The push-back is that the unneeded PRs & CONSTs would increase program
size. I said no they won't, but apparently I was wrong. :)

So I'm trying to understand the behavior so I can counter-argue
correctly.
Thanks!
Charles
--
This is the RPG programming on the IBM i (AS/400 and iSeries) (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

RPG400-L Info Page - midrange.com
lists.midrange.com
To unsubscribe from RPG400-L, get a password reminder, or change your
subscription options enter your subscription email address:

or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.
Help support midrange.com by shopping at amazon.com with our affiliate
link: http://amzn.to/2dEadiD

--
This is the RPG programming on the IBM i (AS/400 and iSeries) (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.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: http://amzn.to/2dEadiD

--
This is the RPG programming on the IBM i (AS/400 and iSeries) (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.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: http://amzn.to/2dEadiD



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.