IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

COBOL Filehanding IO operations


IBM Mainframe Forums -> COBOL Programming
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
DJN

New User


Joined: 04 Jun 2009
Posts: 6
Location: INDIA

PostPosted: Wed Jun 10, 2009 9:22 pm
Reply with quote

I have a job running for 86 minutes to write total of 3 million records(into four files).
Can i speeden the IO operation?I read somewhere instead writing to file after each process .its efficient to move to a temp ws array then write at a strech. Is it sounding meaningful?
I tried doing so didn't notice any difference.
Someone can help me to find a better soultion .
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Wed Jun 10, 2009 10:16 pm
Reply with quote

what is your lrecl, blocksize, buffer count on dd statement?
dasd or tape?
qsam,vsam?
what kind of a computer/ops system?


Quote:
.its efficient to move to a temp ws array then write at a strech. Is it sounding meaningful?


since you are adding a move to table item (with the attendant index/subscript adjustment)
instead of simply to record area for the write,
I would imagine that it would add time, not save.
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Wed Jun 10, 2009 10:56 pm
Reply with quote

Programs are either
- CPU-bound, meaning they're using all the CPU time they get and need more to continue, or
- I/O-bound, meaning they're waiting for I/O to be complete before they can continue.

The relevance is that if your program is CPU-bound, you can reduce the I/O time to zero and it would not have any impact on how long your program runs. So unless you have STROBE, APA, or another tool that will let you know if your program is CPU-bound or I/O-bound, you could be attempting to do the impossible.

If the job is not CPU-bound, things you can do to help reduce elapsed time include:
- adding buffers (at least a cylinder's worth) via DCB=BUFNO= or AMP= JCL statements to both input and output files
- running when little else is going on in the system
- running in a high priority batch initiator
- verify your files are not on high-traffic disk channels or packs
- don't write data if you don't have to -- the fastest I/O is the one you don't do

Considering you're reading 3 million to write 3 million, you're doing 6 million record processing in less than 1.5 hours, so the system isn't doing badly at all. One of our daily processes (that does not use a lot of CPU time) took 131 minutes yesterday to write 1,163,000 records -- but it does run when our system is busiest.
Back to top
View user's profile Send private message
DJN

New User


Joined: 04 Jun 2009
Posts: 6
Location: INDIA

PostPosted: Thu Jun 11, 2009 2:12 am
Reply with quote

the files are in Disk.
And you are right its adding to the CPU time when i use a TEMP Array.

Thanks for ur suggestion
Back to top
View user's profile Send private message
DJN

New User


Joined: 04 Jun 2009
Posts: 6
Location: INDIA

PostPosted: Thu Jun 11, 2009 2:22 am
Reply with quote

Hi Robert, Thanks for your suggestion.

Mine is not CPU bound
I wanna reduce CPU time. This job runs when our system is in busiest.(So it has to)

For 3 million records that too from various IMS parent child its doing good.


Thanks once again ; I will try if BUFNO can be of any use for me
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> COBOL Programming

 


Similar Topics
Topic Forum Replies
No new posts Replace each space in cobol string wi... COBOL Programming 3
No new posts COBOL -Linkage Section-Case Sensitive COBOL Programming 1
No new posts COBOL ZOS Web Enablement Toolkit HTTP... COBOL Programming 0
No new posts Calling DFSORT from Cobol, using OUTF... DFSORT/ICETOOL 5
No new posts Generate random number from range of ... COBOL Programming 3
Search our Forums:

Back to Top