× 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 presumption is that always running SETOBJACC prior to accessing the object in question would do the trick.

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Charles Wilt
Sent: Tuesday, 8 June 2010 8:37 a.m.
To: RPG programming on the IBM i / System i
Subject: Re: Speed in Reading

Sent that too fast...

In other words, if the pool is being used to run jobs, the only way
"repeated use" of SETOBJACC would help would be to continuously issue
the SETOBJACC with nothing done in between.

loop:
SETOBJACC OBJ(MYPF) POOL(*BASE)
GOTO LOOP

If then pool isn't being used to run jobs, then you only need to use
SETOBJACC once.

HTH,
Charles

On Mon, Jun 7, 2010 at 4:33 PM, Charles Wilt <charles.wilt@xxxxxxxxx> wrote:
The problem with your understanding is that if the pool is being used
to run jobs, then as soon as the SETOBJACC completes, all or part of
the object may be paged out. In fact, I believe that parts of the
object paged in could already have been paged out again before the
SETOBJACC command even completes!

If the pool isn't being used to run jobs, then then an object placed
into memory by SETOBJACC will remain there till IPL or SETOBJACC
*PURGE is used.

HTH,
Charles

On Mon, Jun 7, 2010 at 4:10 PM, Peter Connell
<Peter.Connell@xxxxxxxxxxxxxxxxx> wrote:
To me the help text implies that use of the command triggers an event which brings the object(s) into memory in whatever pool is referenced and that repeated use would negate any possibility that the OS may have paged it out irrespective of other activity in the pool.

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Charles Wilt
Sent: Tuesday, 8 June 2010 8:04 a.m.
To: RPG programming on the IBM i / System i
Subject: Re: Speed in Reading

I believe you're reading the help wrong...

If you're talking about this blurb:
"Repeated use of the command can cause a set of objects to be resident
in a main storage pool."

All it is saying is that you can do
SETOBJACC OBJ(PF1) POOL(*SHRPOOL10)
SETOBJACC OBJ(PF2) POOL(*SHRPOOL10)
SETOBJACC OBJ(PF3) POOL(*SHRPOOL10)
SETOBJACC OBJ(PF4) POOL(*SHRPOOL10)

To bring a set of objects into memory.

The only way to ensure an object remains in memory is to put it into a
pool that is not running jobs.


HTH,
Charles

On Mon, Jun 7, 2010 at 3:53 PM, Peter Connell
<Peter.Connell@xxxxxxxxxxxxxxxxx> wrote:
Note that the help panel for the SETOBJACC command also suggests that repeated use of the command should ensure that the objects remain resident.

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Bryce Martin
Sent: Tuesday, 8 June 2010 7:35 a.m.
To: RPG programming on the IBM i / System i
Subject: Re: Speed in Reading

Thanks Vern. That definitely makes more sense.


Thanks
Bryce Martin
Programmer/Analyst I
570-546-4777



Vern Hamberg <vhamberg@xxxxxxxxxxx>
Sent by: rpg400-l-bounces@xxxxxxxxxxxx
06/07/2010 01:52 PM
Please respond to
RPG programming on the IBM i / System i <rpg400-l@xxxxxxxxxxxx>


To
RPG programming on the IBM i / System i <rpg400-l@xxxxxxxxxxxx>
cc

Subject
Re: Speed in Reading






As Charles said, you don't run SETOBJACC in an application program -
it's a one-time thing best done at IPL. Once something is in memory, it
is available to all jobs on the system, no matter the pool THEY are
running in.

The pool for putting data resources into with SETOBJACC is, if I
remember, best set up as a fixed-size, private pool (not shared) with
absolutely no jobs running in it - those would have the potential of
paging stuff out.

HTH
Vern

On 6/7/2010 7:29 AM, Bryce Martin wrote:
Thanks for the link Kurt. Learn something new everyday.

So I'm guessing that the file gets loaded into the pool at application
startup the first time it is run.... anybody know if that significantly
impacts the program's load time? I would think those, but that you
should
gain that back during the processing.


Thanks
Bryce Martin
Programmer/Analyst I
570-546-4777



Kurt Anderson<kurt.anderson@xxxxxxxxxxxxxx>
Sent by: rpg400-l-bounces@xxxxxxxxxxxx
06/04/2010 05:09 PM
Please respond to
RPG programming on the IBM i / System i<rpg400-l@xxxxxxxxxxxx>


To
"'RPG programming on the IBM i / System i'"<rpg400-l@xxxxxxxxxxxx>
cc

Subject
RE: Speed in Reading






Whoops, meant to include a couple links in my response.

For Bryce, SETOBJACC:

http://www-01.ibm.com/support/docview.wss?uid=nas1dc0a2297bdaefddb86256d6c0069907f



And the document I'm looking at in regard to OVRDBF SEQONLY (which
likely
has the answer to my questions, but I may not be reading it right).

https://www-912.ibm.com/s_dir/slkbase.NSF/1ac66549a21402188625680b0002037e/d6738e1cd37e1f33862565c2007cef79?OpenDocument



-Kurt

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of Charles Wilt
Sent: Friday, June 04, 2010 3:46 PM
To: RPG programming on the IBM i / System i
Subject: Re: Speed in Reading

Not quite right...

It doesn't matter if you use SQL or RPG RLA to read or write the file.

What matters is if you use SQL DDL or DDS to create the file in the
first
place.

HTH,
Charles

On Fri, Jun 4, 2010 at 4:26 PM, Luis Rodriguez<luisro58@xxxxxxxxx>
wrote:

You are right, SQL checks during Writes, RPG native I/O checks during

reads.

I like to refer people to this nice Dan Cruikshank paper: "Modernizing
Database Access The Madness Behind the Methods ",. You can find it at:




http://www-03.ibm.com/systems/resources/systems_i_software_db2_pdf_Performance_DDS_SQL.pdf



HTH,

Luis Rodriguez
IBM Certified Systems Expert - eServer i5 iSeries


On Fri, Jun 4, 2010 at 3:31 PM, Bryce Martin<BMartin@xxxxxxxxxxxx>

wrote:


I'm not sure what SETOBJACC is or what effect it has on reading a

file...

but....

Doesn't RPGLE do its checks on Read as opposed to SQL that does checks

on

Write? So as I've heard it the general idea goes that reading with
SQL
should be faster than RPGLE but writing would be the other way around.

So

why not write and SQL to read the data and only the fields you need

(which

is proven to be faster than specifying SELECT * FROM)? You can fetch

more

than one row at a time I do believe and I think would perform better

than

a single record by record read using native I/O.

Then again, if I have the idea of when the i/o checks happen
respective

to

read vs. write then everything I said above is for naught!


Thanks
Bryce Martin
Programmer/Analyst I
570-546-4777



Kurt Anderson<kurt.anderson@xxxxxxxxxxxxxx>
Sent by: rpg400-l-bounces@xxxxxxxxxxxx
06/04/2010 02:12 PM
Please respond to
RPG programming on the IBM i / System i<rpg400-l@xxxxxxxxxxxx>


To
"'RPG programming on the IBM i / System i'"<rpg400-l@xxxxxxxxxxxx>
cc

Subject
Speed in Reading






Hi all,

Lately I've been dealing with a new client that has a high volume of

data

for us to process, so I've been looking at various ways to get things
moving a little faster.

I believe I've successfully implemented the use of SETOBJACC with the

help

of Chuck Pence& Mark Waterbury (thanks guys).

Now, this may be grasping at straws, but in a high data volume

situation,

should I see any benefit in restricting the fields in a LF to only the
fields used by the program? (In essence, going from record length of

438

to 138.) My brain says, "yes," but the logic under-the-covers may not
match the logic my brain uses to come to its conclusion.

I'm also curious about RPG blocking. This question mainly goes out to
people using file encapsulation service programs, but is obviously
open

to

anyone to answer. I have a file wrapped up in a service program. This
service program pretty much handles all I/O operations for the file.

Now,

if all I want to do is loop through the file, it's not going to block

read

because it has operations such as READE in the service program. I
wish
block-reading would be determined at run-time (again, a wish without a
full understanding of the compiler does its thing). I'm curious how
people have circumvented this limitation?

Thanks,
Kurt Anderson
Sr. Programmer/Analyst
CustomCall Data Systems
--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing
list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.



--- This message (including any attachments) is intended only for the

use

of the individual or entity to which it is addressed and may contain
information that is non-public, proprietary, privileged, confidential,

and

exempt from disclosure under applicable law. If you are not the

intended

recipient, you are hereby notified that any use, dissemination,
distribution, or copying of this communication is strictly prohibited.

If

you have received this communication in error, please notify us and

destroy

this message immediately. ---
--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing

list

To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.



--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing

list

To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.



--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing
list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.



--- This message (including any attachments) is intended only for the use of the individual or entity to which it is addressed and may contain information that is non-public, proprietary, privileged, confidential, and exempt from disclosure under applicable law. If you are not the intended recipient, you are hereby notified that any use, dissemination, distribution, or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us and destroy this message immediately. ---
--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.

Visit our website www.vedaadvantage.com. It has a new design with improved navigation and search capabilities; and customer friendly interface with more relevant insights and solutions to help you make informed decisions.

#####################################################################################

This correspondence is for the named person's use only. It may contain confidential
or legally privileged information, or both. No confidentiality or privilege is waived
or lost by any mistransmission. If you receive this correspondence in error, please
immediately delete it from your system and notify the sender. You must not disclose,
copy or rely on any part of this correspondence if you are not the intended recipient.
Any views expressed in this message are those of the individual sender, except where
the sender expressly, and with authority, states them to be the views of Veda Advantage.
If you need assistance, please contact Veda Advantage on either :-
Australia 1300-921-621 or New Zealand +64 9 367 6200
--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.


--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.

Visit our website www.vedaadvantage.com. It has a new design with improved navigation and search capabilities; and customer friendly interface with more relevant insights and solutions to help you make informed decisions.

#####################################################################################

This correspondence is for the named person's use only. It may contain confidential
or legally privileged information, or both. No confidentiality or privilege is waived
or lost by any mistransmission. If you receive this correspondence in error, please
immediately delete it from your system and notify the sender. You must not disclose,
copy or rely on any part of this correspondence if you are not the intended recipient.
Any views expressed in this message are those of the individual sender, except where
the sender expressly, and with authority, states them to be the views of Veda Advantage.
If you need assistance, please contact Veda Advantage on either :-
Australia 1300-921-621 or New Zealand +64 9 367 6200
--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.



--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.

Visit our website www.vedaadvantage.com. It has a new design with improved navigation and search capabilities; and customer friendly interface with more relevant insights and solutions to help you make informed decisions.

#####################################################################################

This correspondence is for the named person's use only. It may contain confidential
or legally privileged information, or both. No confidentiality or privilege is waived
or lost by any mistransmission. If you receive this correspondence in error, please
immediately delete it from your system and notify the sender. You must not disclose,
copy or rely on any part of this correspondence if you are not the intended recipient.
Any views expressed in this message are those of the individual sender, except where
the sender expressly, and with authority, states them to be the views of Veda Advantage.
If you need assistance, please contact Veda Advantage on either :-
Australia 1300-921-621 or New Zealand +64 9 367 6200

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.