Hi all!
I am fiddling around with auditing some COBOL programs using the SYSADATA and I was just wondering about intrinsic function usage... Now in the COBOL perfromance docu is a nice table at the end that lists out all the intrinsic functions and how they are handled:
Table 13. Intrinsic Function Implementation
Function Name LE Service Library Routine (COBOL runtime) Inline Code
Then it lists them all out and some have an X in all three columns... I guess that this is due to the COBOL Compiler seeing "oh that's easy! I can do it!" and generating inline code that obviously is performing tippy toppy! Then there are "LIbrary Routine" calls that appear to be the unwanted cousins at the party that probably do some weird stuff that no-one has heard of and then we have the LE Service.
My basic understanding - and here I would like help - is the performance gets worse as you "shift to the left" of the table.
So how can I tell what on earth
INTEGER Yes Yes Yes
Is doing? Quite a lot that have both LE and Runtime have a note that LE is used if LP(32) and library routine if LP(64). This implies to me that LE is faster than COBOL runtime library so my "to the left" is incorrect... Luckily I use just LP(32) so it makes that bit easier!
I also use
REVERSE Yes x Yes
a lot but have no idea whether it is inline or an LE Service at this time...Naturally I can read the assembler to see if it's doing it inline or not but that makes checking these things automatically very very difficult, if not impossible!
Ideas anyone??? Or should I mail Tom Ross and beg for help???
------------------------------
Roy Boxwell
Senior Software Architect
Software Engineering GmbH
Duesseldorf
+4921196149675
------------------------------