HI Birgitta
Thanks for the info
We did in fact see that the join does use that vide, but the question that we have with that is why the slow down now
That piece of code has been on this logical for years
Sent via the Samsung GALAXY S® 5, an AT&T 4G LTE smartphone
-------- Original message --------
From: Birgitta Hauser <Hauser@xxxxxxxxxxxxxxx>
Date: 6/1/22 03:09 (GMT-05:00)
To: 'Midrange Systems Technical Discussion' <midrange-l@xxxxxxxxxxxxxxxxxx>
Subject: RE: [EXTERNAL] Re: Is there a limit as to the number of files an RPG ILE program can procss
Could it be the joined logical file is defined with the keyword DYNSLT?
Here a sub-set out of the documentation:
When your program does input operations to a logical file with the DYNSLT keyword specified, all the
records in the associated physical file are tested by the system to see if they satisfy the select/omit values.
Only those records that satisfy the values are supplied to your program. The testing of each record can
result in slower I/O performance, but can be more efficient than maintaining an access path for the file.
This is particularly likely for files read only occasionally, especially when the physical files they are based
on are updated frequently. Using dynamic select/omit is probably also more efficient for files with a high
percentage of selected records.
Mit freundlichen Grüßen / Best regards
Birgitta Hauser
Modernization – Education – Consulting on IBM i
"Shoot for the moon, even if you miss, you'll land among the stars." (Les Brown)
"If you think education is expensive, try ignorance." (Derek Bok)
"What is worse than training your staff and losing them? Not training them and keeping them!"
„Train people well enough so they can leave, treat them well enough so they don't want to.“ (Richard Branson)
-----Original Message-----
From: MIDRANGE-L <midrange-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of Alan Shore via MIDRANGE-L
Sent: Dienstag, 31. Mai 2022 22:59
To: John Yeung <gallium.arsenide@xxxxxxxxx>; Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxxxxxxxx>
Cc: Alan Shore <ashore@xxxxxxxx>; Rob Berendt <rob@xxxxxxxxx>
Subject: RE: [EXTERNAL] Re: Is there a limit as to the number of files an RPG ILE program can procss
Thanks for your reply John
We just had a meeting concerning this situation One of the other programmers was actually in STRDBG while a user was using the program and it looks like the culprit is a join logical file At one point the code takes a full 20 seconds to read the next record in the join logical This join logical is between 3 separate files Personally – I hate such files
We believe the access paths on this file may not be the most efficient – what with deleting records and running re-orgs(RGZPFM) etc.
So we plan on deleting this logical and recreating it However, because its month end, we have decided to not do this until early morning on the 2nd
Alan Shore
Solutions Architect
IT Supply Chain Execution
60 Orville Drive
Bohemia, NY 11716
Phone [O] : (631) 200-5019
Phone [C] : (631) 880-8640
E-mail : ASHORE@xxxxxxxxxxxxxxxxxxxx
‘If you're going through hell, keep going.’
Winston Churchill
-----Original Message-----
From: John Yeung [mailto:gallium.arsenide@xxxxxxxxx]
Sent: Tuesday, May 31, 2022 4:56 PM
To: Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxxxxxxxx>
Cc: Rob Berendt <rob@xxxxxxxxx>; Alan Shore <ashore@xxxxxxxx>
Subject: [EXTERNAL] Re: Is there a limit as to the number of files an RPG ILE program can procss
On Tue, May 31, 2022 at 1:48 PM Alan Shore via MIDRANGE-L <midrange-l@xxxxxxxxxxxxxxxxxx> wrote:
I do agree with your thought as to it being a hard halt - but right
now I am clutching at straws as to what is causing this slow down
Back in the day, it used to be 50 files. To me that sounds like a ridiculously high number already, but indeed our old codebase has some gigantic legacy programs that use that many, and you can tell that a subsequent programmer (still from ages ago) split off part of the processing to another program because they needed more than that.
Maybe IBM should *tighten* the file limit rather than remove it, to encourage "modular" programming. ;)
But as for the performance problem, my guesses would be (1) when the program was changed, some algorithmic inefficiency was introduced, like inadvertently reading a file inside a loop when it really only needs to be read once before or after the loop; or (2) maybe the file that was added is often in use, so the program often has to wait for it to be freed up; or it's chaining with lock when it could be chaining without lock.
John Y.
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit:
https://lists.midrange.com/mailman/listinfo/midrange-l<
https://lists.midrange.com/mailman/listinfo/midrange-l>
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at
https://archive.midrange.com/midrange-l<
https://archive.midrange.com/midrange-l>.
Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related questions.
Help support midrange.com by shopping at amazon.com with our affiliate link:
https://amazon.midrange.com<
https://amazon.midrange.com>
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit:
https://lists.midrange.com/mailman/listinfo/midrange-l<
https://lists.midrange.com/mailman/listinfo/midrange-l>
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at
https://archive.midrange.com/midrange-l<
https://archive.midrange.com/midrange-l>.
Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related questions.
Help support midrange.com by shopping at amazon.com with our affiliate link:
https://amazon.midrange.com<
https://amazon.midrange.com>
As an Amazon Associate we earn from qualifying purchases.