Choosing appropriate variable sizes

When programming SMP applications, use the CONTAINS statement only to share thread local storage.

In most cases using INTEGER(4) in 32-bit mode and INTEGER(8) in 64-bit mode for scalars improves the efficiency of mathematical calculations and calling conventions when passing objects. However, if your code contains large arrays with values that can fit in an INTERGER(1) or INTEGER(2) in 32-bit mode, or an INTEGER(4) in 64-bit mode, using smaller kind parameters can actually improve memory efficiency by reducing memory traffic to load or store data.

Use the lowest floating-point precision appropriate to your application. Higher precisions can reduce performance, so use the REAL(16), or COMPLEX(16) data types only when you require extremely high precision.

On systems with VMX, using REAL(4) and -qhot=simd provides opportunities for short vectorization not available with larger floating-point types.