High Performance and Quick Startup
Excelsior JET lets you create the fastest, most efficient Java applications.
The speed at which a Java application runs depends on the technology the underlying Java Virtual Machine uses to execute its bytecode. The first JVMs were interpreting bytecodes, but these days only J2ME CLDC implementations are pure interpreters. In today's high-performance JVMs, classes are first interpreted and then gradually compiled to native code while the application is running. Compilation is done by the dynamic (or Just-In-Time) compiler built into the JVM.
What sets Excelsior JET apart from other Java technology implementations available on the market? They all optimize applications for performance "at the last minute", when the application is already running on the enduser system. In contrast, Excelsior JET Optimizer does the job in advance. It is a static compiler that optimizes Java class files down to x86 or x64 native code on the developer's machine, that is, before execution and even before deployment. Static compilation is the direct route to high performance -- compiling all of your code ahead of time, and compiling it well. Traditional compilers for other languages such as C/C++ and FORTRAN take this approach.
Given the class files comprising your Java application, Excelsior JET Optimizer produces highly optimized native executables. Why do these perform faster than the original class files executed within a conventional JVM? Consider four reasons:
- Bytecode interpretation is not used at all. The resulting executables run directly on the hardware.
- Every single method of your application is optimized for maximum speed. Other Java implementations fully optimize only the most frequently executed methods (hot spots). Other executed methods are poorly optimized or simply interpreted.
- The static compiler does not compromise the power of optimizations to save time. JIT compilers that process bytecode on-the-fly do not have enough CPU and memory resources for certain aggressive optimizations.
- Excelsior JET compiler uses state-of-the-art optimizations. In addition to well-known techniques, it employs Java optimizations innovated by Excelsior's R&D team.
Excelsior JET Runtime also contributes to high performance. It is a scalable run-time system that serves the compiled applications during execution, providing fast object allocation, short-pause garbage collection, lightweight thread synchronization, etc.
Excelsior JET lets you enhance the performance of your Java applications without hardware upgrades or source code changes.
Usage of Excelsior JET has other benefits. Find out how it can help you:
Learn how these benefits apply to: