IBM Champions

IBM Champions Banner

IBM Champions

Engage with IBM Champions and top advocates

 View Only

COBOL and intrinsic functions

  • 1.  COBOL and intrinsic functions

    Posted Wed May 21, 2025 11:34 AM

    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
    ------------------------------