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



My experience, since the Power4 chip, has been that a load-all subfile (which is limited to 9,999 records) even when multiple tables are involved is not perceivable by a user.

For example, I allow users to display a list of items based upon anything, anywhere in the description. There are > 4,000 records in the Item Master; I use SCAN to determine if the record is wanted, plus allow them to ignore (logically) deleted records, then display a list that meets their requirements. Every single record in the Item Master, of course, has to be read and the subfile record built from it as well as a field from a second table. Just ran it against a production system with >20 user jobs running; the response is sub-second. I have several others subfile programs where the result could be "a lot". I do agree that the time consuming element in any subfile is accessing the tables to provide the subfile, not the actual subfile processing.

Perhaps it is just me, but I find coding and processing load-all's a tad easier than page-at-a-time's. Rick pointed out that his original question involved a standards document. In a one-man System i shop, I have the luxury of setting (and changing) programming standards. One of the standards that has changed is, obviously, page-at-a-time to load-all. Standards, though, cannot be carved in granite. Another example: The program I mentioned (above) uses RLA to built the subfile, but more often these days I use SQL to access the table(s) and do a lot of the grunt work for me (I'm still pretty lame at SQL compared to the stuff I see others doing in the Midrange-L forum). Ergo, the standard changed.

Jerry C. Adams
IBM System i Programmer/Analyst
--
B&W Wholesale
office: 615-995-7024
email: jerry@xxxxxxxxxxxxxxx


-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of McGovern, Sean
Sent: Thursday, February 18, 2010 9:58 AM
To: RPG programming on the IBM i / System i
Subject: RE: "Constant" performance question

That's OK if you are loading a subfile from one (master) file. My
experience is that more often than not, there is also business logic
required to determine whether a record should be written to subfile.
This can lead to a big performance overhead using a load-all subfile.


-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Jerry Adams
Sent: 18 February 2010 15:02
To: RPG programming on the IBM i / System i
Subject: RE: "Constant" performance question

Plus isn't it more important that the code be productive from both a
programmer- and user-point-of-view? Unless I find (or have reported to
me) significant issues with performance, I try (not always successfully
it turns out) to write code that (a) the next programmer can most easily
decipher (even though this is a one-man System i-wise shop), and (b)
gives the user/client that easiest path to their objective. Those that
dwell upon nano- or micro-second issues have more important issues that
they need to address.

As an example, the other discussion about subfile performance seems a
little ridiculous to me. On the original AS/400 models there is a
significant difference between page-at-a-time and load-all subfiles. At
least since the Power4 chip the difference is negligible; loading a
1000+ load-all subfile (never had to go the full limit), is still
sub-second response. And, in my opinion, writing a load-all is a heck
of a lot easier to write and understand than a page-at-a-time. Since
it's not a programmer issue, if it ever becomes an issue with the
user/client, I would have to revisit that premise, but a couple of micro
seconds is not something I am going to address.

Jerry C. Adams
IBM System i Programmer/Analyst
--
B&W Wholesale
office: 615-995-7024
email: jerry@xxxxxxxxxxxxxxx


-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Simon Coulter
Sent: Wednesday, February 17, 2010 2:40 PM
To: RPG programming on the IBM i / System i
Subject: Re: "Constant" performance question


On 18/02/2010, at 6:52 AM, Paul Jackson wrote:

if you had to compare a value to
see if it was 0602 multiple times I would expect the named constant to
be more efficient because the system does not have to check each time
for content change unlike with the data structure subfield.

What makes you think the compiler generates code to check if the
content has changed? Surely it would be simpler to just compare
against the current value (changed or otherwise)?

As far as I know there is no difference in efficiency at run-time--and
if there were it would likely be so small as to be truly insignificant
even over multiple iterations.

Regards,
Simon Coulter.
--------------------------------------------------------------------
FlyByNight Software OS/400, i5/OS Technical Specialists

http://www.flybynight.com.au/
Phone: +61 2 6657 8251 Mobile: +61 0411 091 400 /"\
Fax: +61 2 6657 8251 \ /
X
ASCII Ribbon campaign against HTML E-Mail / \
--------------------------------------------------------------------




As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
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.