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

PL/I code tuning/Performance improvement


IBM Mainframe Forums -> PL/I & Assembler
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
Virendra Shambharkar

New User


Joined: 26 Aug 2015
Posts: 55
Location: India

PostPosted: Mon Dec 05, 2016 11:57 am
Reply with quote

Hi,

I am looking for documents or pointers for PL/I code tuning/Performance improvement . Have look over the net but did not come across any explicit documents . Any pointers will be helpful.

Thanks in advance.
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Mon Dec 05, 2016 12:05 pm
Reply with quote

What's your specific problem, and are you able to "profile" it to know where it is occuring?
Back to top
View user's profile Send private message
Nic Clouston

Global Moderator


Joined: 10 May 2007
Posts: 2455
Location: Hampshire, UK

PostPosted: Mon Dec 05, 2016 2:38 pm
Reply with quote

Use 'ALIGNED' and 'REORDER'. Make the most used code the targt if IF/THEN/ELSE e.g.
Code:
IF not an abort condition
THEN some code
ELSE abort


instead of
Code:
IF abort condition
THEN abort
ELSE some code


The same for SWITCH.

Avoid DATA CONVERSION WILL BE DONE BY SUB-ROUTINE CALL messages - move your data through the datatypes eg CHAR-> PIC -> FIXED DEC.

That is just some of the simpler things that should be done. There was an entire document on the subject from IBM - but it may have been Internal Use Only. I am no longer able to find my copy.
Back to top
View user's profile Send private message
Virendra Shambharkar

New User


Joined: 26 Aug 2015
Posts: 55
Location: India

PostPosted: Mon Dec 05, 2016 3:10 pm
Reply with quote

Thanks a lot Nic.
Back to top
View user's profile Send private message
Nic Clouston

Global Moderator


Joined: 10 May 2007
Posts: 2455
Location: Hampshire, UK

PostPosted: Tue Dec 06, 2016 4:06 pm
Reply with quote

Some other bits:

Use LOCATE mode when reading/writing data sets
Use the TOTAL option when declaring files
Use as many buffers as you can for your data sets - avoiding disk access
Use FIXED BIN for counters
There is an entire chapter in the programming guide re performance.
Use PLIXOPT to find correct ISA size and then code it
Remove internal routines that are used only once
Remove repetetive, i.e. duplicate, tests
Limit data movement
Hard-code values - in particular parameters to BUILTIN functions
Call user exits directly
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 -> PL/I & Assembler

 


Similar Topics
Topic Forum Replies
No new posts run rexx code with jcl CLIST & REXX 15
No new posts Compile rexx code with jcl CLIST & REXX 6
No new posts REXX code to expand copybook in a cob... CLIST & REXX 2
No new posts exploiting Z16 performance PL/I & Assembler 2
No new posts VSAM return code 23 - for a Random read COBOL Programming 4
Search our Forums:

Back to Top