ARCH

Default
ARCH(8)
Recommended
ARCH(x) where x is the lowest level of hardware your application will have to be run on, including any disaster recovery systems.
Reasoning
Higher ARCH settings enable the compiler to exploit features of the corresponding and all earlier hardware models in order to achieve the best performance.
Note: Your application might abend if it runs on a processor with an architecture level lower than what you specified with the ARCH option.
Considerations

None besides matching to hardware level

By varying only ARCH and keeping the other options at their best recommended settings, the following performance improvements were measured over a set of IBM® internal performance benchmarks:
Table 1. ARCH levels with average improvement
ARCH Levels Average % Improvement
ARCH(9) vs. ARCH(8) 0.3%
ARCH(10) vs. ARCH(9) 9.1%
ARCH(11) vs. ARCH(10) 0.9%
ARCH(12) vs. ARCH(11) 8.7%
ARCH(13) vs. ARCH(12) 1.1%

When moving from ARCH(8) directly to ARCH(13), the average performance gain on these same set of benchmarks is 23%.

Note that only the ARCH compiler option was changed for the numbers above, and the underlying hardware was an IBM z14™ machine in all cases. This means the performance gains are strictly from compiler improvements in optimizing the COBOL applications tested.

This set of benchmarks is a mix of computation intensive and I/O intensive applications. Computation intensive applications see the largest improvement: for example, one computation intensive benchmark is reduced by 86% in execution time moving from ARCH(7) to ARCH(12). Other benchmarks spend the majority of their time performing I/O operations, and relatively little time in compiler-generated code. The performance of these benchmarks is not significantly affected by the ARCH option.

For reference, the mapping between ARCH settings and hardware models is provided below:
Table 2. ARCH settings and hardware models
ARCH Hardware Models
ARCH(8) 2097-xxx models (IBM System z10® EC)
2098-xxx models (IBM System z10 BC)
ARCH(9) 2817-xxx models (IBM zEnterprise® z196 EC)
2818-xxx models (IBM zEnterprise z114 BC)
ARCH(10) 2827-xxx models (IBM zEnterprise EC12)
2828-xxx models (IBM zEnterprise BC12)
ARCH(11) 2964-xxx models (IBM z13®)
2965-xxx models (IBM z13s®)
ARCH(12) 3906-xxx models (IBM z14)
3907-xxx (IBM z14 ZR1) models
ARCH(13) 8561-xxx models (IBM z15®)
8562-xxx (IBM z15 T02) models

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