View previous topic :: View next topic
|
Author |
Message |
Virendra Shambharkar
New User
Joined: 26 Aug 2015 Posts: 55 Location: India
|
|
|
|
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 |
|
|
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
What's your specific problem, and are you able to "profile" it to know where it is occuring? |
|
Back to top |
|
|
Nic Clouston
Global Moderator
Joined: 10 May 2007 Posts: 2455 Location: Hampshire, UK
|
|
|
|
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 |
|
|
Virendra Shambharkar
New User
Joined: 26 Aug 2015 Posts: 55 Location: India
|
|
|
|
Thanks a lot Nic. |
|
Back to top |
|
|
Nic Clouston
Global Moderator
Joined: 10 May 2007 Posts: 2455 Location: Hampshire, UK
|
|
|
|
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 |
|
|
|