|
Explanations: You've got two basic selection methods here. Test 1, read only the sleeted records by keyed access. Tests 2 ad 3, read the whole file, selecting records in RPG. Test 1 benefits from processing fewer records. Test 2 and 3 benefit from arrival sequence processing, which allows double-buffered input. Test 1 suffers from keyed sequence, which probably differs from the arrival sequence, so buffering doesn't help. Test 2 and 3 suffer from having to read all the data in the input file. All tests suffer from outputting to a keyed file, which requires access path maintenance for each output record. In addition, the output may not be buffered. Suggestions: 1. Remove the keys from the output PF. Create an LF that is keyed. Remove the LF member while the PF is being built. Add the LF member after the PF is built. This defers building of the output file access path until after the PF is built. 2. Specify blocked input and output with OVRDBF. Read the input file using keyed access (as in test 1) and OVRDBF ... NBRRCDS(*N) SEQONLY(*YES buffer-size-in-number-of-records). Output to the non-keyed PF and OVRDBF ... NBRRCDS(buffer-size-in-number-of-records) SEQONLY(*YES same-number-of-records-as-NBRRCDS). Best buffer size can't be determined other than by trial and error. A good starting point is 4K (number = 4096/record-length-in-bytes). -- Brian Johnson Help/Systems, Inc. brian@helpsystems.com ---------- From: 'mail@uucp <boothm@earth.goddard.edu>' Sent: Sun, Jul 13, 1997 17:36 PM Subject: re: processing a file Still trying to learn: ok, I ran the following job 3 ways: info: the machine is an F35 FILE1 is 570,000 records, the PF is not keyed, a LF is. FILE2 is the output file, a keyed physical with one 48-character key field About 5,800 records are selected for the output file, from the beginning of FILE1. test 1: Ran the job with both files showing the K in the Fspec, and using SETLL. In the INZSR I set FILE1 to the first selection date, and as soon as the range was exceeded I set on LR and ended the job. Test 2: Took out the FILE1 "K" and of course then had to read the whole file, sequentially. Test 3: Took out the FILE2 "K" too. Results: total time for job WRKACTJOB % at 12:24 of the job: Test 1 12:24 min. 80% Test 2 14:57 min 62% Test 3 13:50 min 28% Frankly this surprised me. I did not expect the three choices to be so close together for time, nor so wide apart on %. I have figured out that writing out the records selected is what takes the time. Anyone have any good ideas about speeding up the record writing part? ... * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * This is the Midrange System Mailing List! To submit a new message, * * send your mail to "MIDRANGE-L@midrange.com". To unsubscribe from * * this list send email to MAJORDOMO@midrange.com and specify * * 'unsubscribe MIDRANGE-L' in the body of your message. Questions * * should be directed to the list owner / operator: david@midrange.com * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
As an Amazon Associate we earn from qualifying purchases.
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.