The DYNAM compiler option specifies that all subprograms invoked through the CALL literal statement
will be loaded dynamically at run time.
This allows you to share common subprograms among several different applications, allowing for easier maintenance of these subprograms since the application will not have to be re-link-edited if the subprogram is changed.
DYNAM also allows you to control the use of virtual storage by giving you the ability to use a CANCEL statement to free the virtual storage used by a subprogram when the subprogram is no longer needed.
However, when using the DYNAM option, you pay a performance penalty since the call must go through a library routine, whereas with the NODYNAM option, the call goes directly to the subprogram. Hence, the path length is longer with DYNAM than with NODYNAM.
Performance considerations using DYNAM with CALL literal (measuring CALL overhead only):
On the average, for a CALL intensive application, the overhead associated with the CALL using DYNAM ranged from 16% slower to 100% slower than NODYNAM.
This allows you to share common subprograms among several different applications, allowing for easier maintenance of these subprograms since the application will not have to be re-link-edited if the subprogram is changed.
DYNAM also allows you to control the use of virtual storage by giving you the ability to use a CANCEL statement to free the virtual storage used by a subprogram when the subprogram is no longer needed.
However, when using the DYNAM option, you pay a performance penalty since the call must go through a library routine, whereas with the NODYNAM option, the call goes directly to the subprogram. Hence, the path length is longer with DYNAM than with NODYNAM.
Performance considerations using DYNAM with CALL literal (measuring CALL overhead only):
On the average, for a CALL intensive application, the overhead associated with the CALL using DYNAM ranged from 16% slower to 100% slower than NODYNAM.
No comments:
Post a Comment