3

プログラムが2つの異なる言語で書かれていると仮定します。

  1. ソースコードから解釈された言語(たとえばPHP)
  2. バイトコードから解釈される言語(Javaなど)。

2つのプログラムはまったく同じように動作します(簡単にするために、両方とも1行のテキストを出力するとします)。

言語(2)は(1)よりも高速ですか?

理論的には、2つのサイトが同じ機能を提供しているが、一方がPHPで構築され、もう一方がJava(JSP)で構築されている場合、Javaベースのサイトの方が高速であると結論付けることができますか?

ジョエル

4

2 に答える 2

2

いいえ、これについての保証はまったくありません。中間バイトコードを生成するのは、通常のコンパイルプロセスの一部です。PHPはソース->バイトコード->実行をすべて一度に実行しますが、Javaはソース->ファイル->バイトコード->実行を実行します。大きな違いはありません。主な違いはバックエンドにあります。JITが両方の言語をサポートする効果、プログラムの静的対動的(タイプなど)の量です。

さらに重要なことに、必要なパケットのダウンロードやデータベースの相互作用に費やされる時間は、バック言語ではなく、Webサイトのパフォーマンスを支配する可能性があります。

于 2010-12-10T16:00:07.127 に答える
1

テキストとバイトコードのインタプリタの場合、一般に、「高速」のインタプリタは、ソースコードを最適化されたマシンコードにコンパイルするために費やされるテクノロジが多いものになります。これは、実行する計算の量が、コードを「コンパイル」するのにかかる時間の量を支配することを前提としています。

あなたのウェブページは多くの計算をする必要がないかもしれないので、ウェブページのあちこちで、それはそれほど重要ではないかもしれません。(ほとんどのWebページはユーザー入力を待つのに時間を費やしています:)あなたの1行の例では、誰も気にしないと思います。

PHPとJavaの場合、全体的な速度の点でJavaが勝者であることがわかると思います。PHP HipHopコンパイラは、ほとんどのJava実装の一般的なジャストインタイムコンパイラ機能に追いつくための試みです。

于 2010-12-10T15:59:59.463 に答える