
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:
is 52% faster when using NONUMCHECK compared to NUMCHECK (MSG) or NUMCHECK (ABD).01 Z1 PIC 9(5). 01 Z2 PIC 9(5). MOVE Z1 TO Z2.
- 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.
