高性能で簡単なセットアップ

Excelsior JET は、高速で効率のよい Java アプリケーションを生成します。

Java アプリケーションの実行速度は、バイトコードを実行するために Java 仮想マシンが使用する技術に依存します。初期の JVM はバイトコードのインタープリタが主流でしたが、今日では純粋なインタープリタは J2ME CLDC 実装のみです。現在の高性能 JVM では、クラスが最初に解釈された後、アプリケーションが実行している間、徐々にネイティブ コードにコンパイルされます。コンパイルは、JVM に含まれているダイナミック (または JIT) コンパイラによって行われます。

Excelsior JET が他の Java テクノロジ実装と異なる点は何でしょうか? 他の Java テクノロジ実装は、アプリケーションがエンドユーザーのシステムで実行される「最後の瞬間」に、アプリケーションの性能を最適化します。対照的に、Excelsior JET オプティマイザは先に最適化を行います。開発用マシンで、つまり、実行や配布の前に Java クラス ファイルをインテル x86 (IA-32) ネイティブ コードに最適化するスタティック コンパイラです。スタティック コンパイルは、高性能を実現するための近道です。C/C++ や FORTRAN などの他の言語用のコンパイラは通常、この方法でコンパイルを行います。

Excelsior JET オプティマイザは、Java アプリケーションを構成するクラス ファイルから、高度に最適化されたネイティブな実行ファイルを生成します。これらの実行ファイルは、なぜ従来の JVM 内で実行されるオリジナルのクラス ファイルよりも高速に動作するのでしょうか? 次の 4 つの理由があります:

  1. バイトコードの解釈が全く行われない。生成される実行ファイルはハードウェア上で直接実行されます。
  2. アプリケーションのすべてのメソッドが完全に最適化される。他の Java 実装は、最も頻繁に実行されるメソッド (ホット スポット) のみを完全に最適化します。他のメソッドはほとんど最適化されないか単に解釈されるだけです。
  3. スタティック コンパイラは時間によって最適化が制限されない。バイトコードを急いで処理する JIT コンパイラと異なり、特定の積極的な最適化に十分な CPU 時間やメモリ リソースを使用することができます。
  4. Excelsior JET コンパイラは最新の最適化技法を使用している。従来のよく知られている最適化技法に加えて、Excelsior の研究開発部門で開発された最新の Java 最適化技法を使用しています。

Excelsior JET ランタイムも、高性能の一因です。高速なオブジェクト割り当て、休止期間の短いガーベジ コレクション、動作の軽いスレッド同期などを提供して、実行中にコンパイルされたアプリケーションを操作する、スケーラブルなランタイム システムです。

Excelsior JET は、ハードウェアのアップグレードやソース コードの変更を行うことなく、Java アプリケーションの性能を高めます。

 

 

ページトップへ