|
Hi Mark,
I'm not finding much for IBM documentation on QDBBRCDS.
With your suggestion of accessing the QDBBRCDS API before the read, are you calling the API, are you doing something like the following:
DoU eof( File );
If rrnCount = 0;
buildRRNArray()
rrnCount = 1000;
QDBBRCDS( file: mbr: rrnArray: rrnCount );
EndIf;
Read File;
If not eof( File );
rrnCount -= 1;
// process stuff
EndIf;
EndDo;
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Mark S. Waterbury
Sent: Tuesday, June 08, 2010 8:34 AM
To: RPG programming on the IBM i / System i
Subject: Re: Speed in Reading
Hi, Bryce:
For really large files, such as your 8 GB transaction file, use the
QDBBRCDS API to do what is called "anticipatory paging", to bring in the
next few blocks of data, just prior to their use (when your application
actually reads the next block of records).
QDBBRCDS returns to your program immediately after initiating the
asynchronous "bring" request, so your application program can continue
to process the current block of records, while the "bring" is taking place.
Mark
> On 6/8/2010 8:20 AM, Bryce Martin wrote:
I like the idea and all, but in this case and others that might be similar
we are talking about putting a large object into a memory pool. Now, I
don't know what you guys consider a large object, and maybe I don't know
enough about memory pools (which is probably the case). But say you need
to process a 'big' file, i'm thinking on that is like 8gigs of data or
something...maybe an inventory transaction file... and you stock that
thing in memory won't you be eating up 8 gigs of your memory from the
system? Is that really a good thing to do?
I really don't know if that is how the memory pool works, but that is the
thought that came to my mind.
Thanks
Bryce Martin
Programmer/Analyst I
570-546-4777
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.