The IBM High Performance Compiler for Java (HPCJ) is an optimizing compiler that is based on advanced IBM optimization technology. It compiles Java source code or bytecode into optimized, platform-specific native code that takes the form of either executables or DLLs. The resulting code is generally much faster than the bytecode executed in a Java Virtual Machine (VM) using a Just-In-Time (JIT) compiler.
HPCJ has the look and feel of the Java VM. For instance, the HPCJ hpj and hpjava commands closely mirror the javac and java commands and associated options of the Sun JDK. HPCJ also supports the Java Native Interface (JNI) so that native code can call Java code.
With the exception of native methods that are implemented in C/C++ and in applications using the JNI invocation interface, the HPCJ applications are primarily written in Java and compiled with HPCJ.
Why Use the High Performance Compiler for Java?
Execution speed is an important requirement for server code. For
this reason, you may need an optimizing native code compiler for
Java that will compile Java bytecode directly into native code in
the same manner as compilers for C/C++, Fortran, COBOL, and other
languages. A JIT compiler must balance time spent in optimizing
code with time spent in executing that code. Because a native
compiler like HPCJ compiles code only once, before execution
time, it can apply resource-intensive optimization techniques to
the generated code that are not available to a JIT compiler.
These optimization techniques can greatly enhance the performance
of the code. The degree of performance improvement, of course, is
dependent on your application.
HPCJ makes it possible for you to write entire server applications in Java without sacrificing the benefits of platform-specific, native code performance. Cross-platform portability is retained through the Java bytecode or by compiling the bytecode to native code for each required platform.
Building Executables and DLLs
Building Applications and Applets