AFP

Default
AFP(NOVOLATILE)
Recommended
AFP(NOVOLATILE)
Reasoning

When AFP(VOLATILE) is specified, values cannot be saved in registers FP8-FP15 during calls. They must instead be saved in memory and subsequently restored. The performance impact is most significant for small programs called many times.

The use of AFP(NOVOLATILE) over AFP(VOLATILE) reduces the overhead of a program call by 4% at OPT(2). Note this was measured in an otherwise empty COBOL program to emphasize the performance cost of this option and would be less of an overall degradation in a more substantial called program.

Considerations
Specifying AFP(NOVOLATILE) requires a CICS® Transaction Server V4.1 or later.
Note: AFP has no effect when the LP(64) compiler option is specified. This means user application has no control on COBOL compiler's usage of floating point registers. The compiler may behave as if AFP(NOVOLATILE) is specified. Note that with LP(64), register usage (what is preserved and what is volatile) for all register classes is in accordance with the XPLINK specification. No guarantees beyond this specification are supported.

Related references
AFP (Enterprise COBOL for z/OS® Programming Guide)