|
Dan wrote: > > So, physically, records by key can be all over the file, but BLOCK(*YES) on a > keyed file puts them in the buffer in key sequence. If the system has to jump > all over the disk to build this buffer, is there really any time savings? > > Another question: Does the RPG program get control of the buffer after the > first record is put in the buffer by the system, or does the RPG program wait > until the system fills the buffer? > > This is an eye-opener. A colleague told me today that the BLOCK keyword for > the F-spec has been around since v3r7! That one must have flew underneath my > radar when it came out. > Usually, doing blocked I/O gives a boost in performance if you are doing a lot of sequential reading. But it's not always the right thing to do; say you are only chaining to new records, BLOCK(*YES) would hamper performance since the system would fetch N records for every chain when only 1 was needed. I don't know the relative costs of fetching the data from disk and making the call to data management. But the fetch time might not be that bad; the system might not have to jump all over the disk, and if the data was already paged into memory, it might not have to go to the disk at all. (Getting a bit out of my depth here.) The RPG program doesn't get control until the system fills the whole buffer.
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.