ソースコードから解釈された言語とWeb のバイトコード
質問
プログラムが 2 つの異なる言語で書かれていると仮定します。
- ソースコードから解釈された言語 (PHP など)
- バイトコードから解釈される言語 (Java など)。
2 つのプログラムはまったく同じことを行います (簡単にするために、どちらも 1 行のテキストを出力するだけだとします)。
言語 (2) は (1) よりも高速になりますか?
理論的には、2 つのサイトが同じ機能を提供し、一方が PHP で構築され、もう一方が Java (JSP) で構築されている場合、Java ベースのサイトの方が高速であると結論付けることができますか?
ジョエル
解決
いいえ、これについてはまったく保証されていません。これは、中間バイトコードを生成するための通常のコンパイルプロセスの一部です。 phpはソース - > bytecode->実行すべてを1回だけ実行しますが、Javaはソース - > file-> bytecode-> executionsになります。大きな違いはありません。主な違いはバックエンドにあります - 両方の言語のJITバッキングの効果、プログラムのどれだけが静的と動的であるか(たとえば、タイプ)。
さらに重要なことは、必要なパケットまたはデータベースのインタラクションをダウンロードする時間は、バッキング言語ではなく、ウェブサイトのパフォーマンスを支配する可能性が高いことです。
他のヒント
テキストの場合とバイト コード インタプリタでは、一般に、ソース コードを最適化されたマシン コードにコンパイルするためのテクノロジが多く費やされたものほど、「高速」になります。これは、実行する計算量がコードの「コンパイル」にかかる時間の大部分を占めることを前提としています。
フロ ウェブ Web ページではそれほど多くの計算が行われない可能性があるため、それはあまり重要でない場合もあります。(ほとんどの Web ページは、ユーザー入力を待つのに時間を費やします:) あなたの 1 行の例では、誰も気にしないと思います。
PHP とJava については、全体的な速度の点では Java が断然勝者であることがおわかりいただけると思います。PHP HipHop コンパイラは、ほとんどの Java 実装の一般的なジャストインタイム コンパイラ機能に追いつく試みです。