Start of change

NUMCHECK

Default
NONUMCHECK
Recommended
For best performance, NONUMCHECK is recommended. Specifying NUMCHECK will cause IS NUMERIC class tests to be generated whenever a numeric data item is used as a sender.
Reasoning
The extra checks inserted by NUMCHECK can cause significant performance degradations for programs that use zoned decimal data items as sending data items. It is faster to manually insert IS NUMERIC tests at places in your program where data is read into your program, instead of using NUMCHECK that will enable checks for all cases, including the performance-critical parts of your program.
For example, the zoned decimal move:
01 Z1 PIC 9(5).
01 Z2 PIC 9(5).
MOVE Z1 TO Z2.
is 52% faster when using NONUMCHECK compared to NUMCHECK (MSG) or NUMCHECK (ABD).
Considerations

In addition to the runtime performance impact, use of SSRANGE can also significantly increase compilation time.

Note: NUMCHECK(ZON) was previously known as ZONECHECK.

related references
NUMCHECK (Enterprise COBOL for z/OS® Programming Guide)

End of change