2016-06-21 10 views
0

Java、CまたはC++のようないくつかの言語は、非常に移植性の高い/マルチプラットフォームです。しかし、それはなぜですか?解釈の一般的なパフォーマンスを改善するために通訳者に使用できる戦略は何ですか?私はJITについて考えました。 1つの命令を1回変換してから、再び表示されるたびに再使用します。しかし、JITはマルチプラットフォームを正当化するために使用できますか?他の戦略は何ですか?インタプリタのパフォーマンスを向上させるための戦略

答えて

1

Java、C、C++などの一部の言語は、非常に移植性の高い/マルチプラットフォームです。しかし、それはなぜですか?

これらは移植性はありますが、さまざまな方法があります。 Javaは、同じ実行可能バイナリが多くのアーキテクチャ上で実行できるという点で、バイナリポータブルです。これは、解釈またはJITコンパイルを使用して実現されます。 C/C++は、多くのプラットフォーム用のコンパイラが存在するという意味で移植性があり、同じソースコードをコンパイルして異なるプラットフォーム用の異なるバイナリを生成することができます。

は、解釈の一般的なパフォーマンスを向上させるインタープリタで使用できる戦略は何ですか?

解釈のパフォーマンスを改善するための相当量の研究が行われており、それに関する非常に厚い本を書くことができます。私は紹介として通訳についてのWikipediaのページを読むことをお勧めします。

が再度表示されるたびに1命令を1回変換してから再利用するため、

JITコンパイラは、1つではなく複数の命令をまとめて変換します。たとえば、JITコンパイラは一度に1つの関数をコンパイルすることがあります。

関連する問題