Comparison of Just-In-Time compiler and direct processing

If you are trying to decide whether to use the Just-In-Time compiler or direct processing mode to run your Java™ program, this table provides additional information to help you make the best choice for your situation.

Just-In-Time compiler or direct processing mode

Just-In-Time compiler Direct processing
Provides an automatic compilation of any method when needed. The JIT compiler can compile a method much faster than direct processing. Allows you to compile an entire class or JAR file by using the Create Java Program (CRTJVAPGM) control language (CL) command. If you do not compile the files, direct processing compiles the files automatically at run time.
Enables you to avoid using the CRTJVAPGM CL command during program development. You can also use the JIT compiler with highly dynamic applications that generate or discover code at run time. Most ready-to-deploy server applications use direct processing at optimization level 40 because they are likely to be in use by multiple users at any given time. Multiple user jobs share the same code space in memory, which reduces the memory footprint.
Rapidly performs complex optimizations and Java specific optimizations at run time. Enables complex optimizations, because direct processing does not perform optimization at run time. However, direct processing cannot always perform Java-specific optimizations (like inlining methods) because Java program objects must be independent.
Offers better code performance when compared to direct processing. In most cases, the performance of JIT-generated code is better than direct processing optimization level 40. Offers the only way your Java program can adopt owner authority.