4

Q.1. 最も最適な Java バイトコードを生成する無料のコンパイラはどれですか?

Q.2. Java バイトコードを最も速く実行する無料の仮想マシン (64 ビットのマルチコア CPU 上) は?

Q.3. このリストに含まれていない他の (現在アクティブな) コンパイラ プロジェクトは次のとおりです。

Q.4. JIT ではできない (またはしない) コンパイラでできるパフォーマンスの向上は何ですか?

Q.5. 最近のベンチマーク、比較、またはシュートアウト (第 1 四半期または第 2 四半期) はどこにありますか?

ありがとうございました!

4

3 に答える 3

5

Q.1. 最速の実行可能な Java バイトコードを生成する無料のコンパイラは?

質問は本当に意味がありません。バイトコードは実行されません。コンパイルされたバイトコードは、適切な JIT を使用する場合、生成されたマシン コードの効率に影響を与えるほどの違いはありません。

Q.2. Java バイトコードを最も速く実行する無料の仮想マシン (64 ビットのマルチコア CPU 上) は?

これはより良い質問です。JRockitだと思います

Q.3. このリストに含まれていない他の (現在アクティブな) コンパイラ プロジェクトは次のとおりです。

JRockit を見逃していたと思います。しかし、より完全なリストについては、Wikipedia: List of Java Virtual Machines を参照してください。それらがアクティブかどうかを調べるのは簡単な作業です。

Q.4. JIT ではできない (またはしない) コンパイラでできるパフォーマンスの向上は何ですか?

技術的にはないと思います。バイトコードのコンパイルは、基本的に、最適化に関して労力を費やす場所としては不適切です。

Q.5. 最近のベンチマーク、比較、またはシュートアウト (第 1 四半期または第 2 四半期) はどこにありますか?

Google はここであなたの友達です。これらは2つです:

残念ながら、それらはそれほど多くの VM をカバーしていません。

于 2010-06-12T07:19:30.983 に答える
2

Q.4. JIT ではできない (またはしない) コンパイラでできるパフォーマンスの向上は何ですか?

JIT コンパイラは、グローバルな最適化を実行できます。バイトコード コンパイラは、プログラムの実行中に読み込まれるすべてのライブラリを認識できないため、これを行うことができません。

JIT コンパイラは、現在のプログラム実行の観察された動作に基づいて分岐の最適化を実行できます。バイトコード コンパイラはこれを行うことができません。これは、プログラムが実行を開始するまでに、コンパイラはすでに姿を消しているためです。

于 2010-06-12T09:52:24.340 に答える
0

現時点で実行可能な javac の唯一の代替手段は、Eclipse コンパイラーです。

それを見てください。質問は、非効率的であるとわかったものと、それが本当に重要かどうかです。

于 2010-06-12T07:43:56.037 に答える