2012-04-05 13 views
-2

これは愚かな質問かもしれませんが、私はまだ受け入れられる理由はありません。
高水準なので、多くの人が高水準の言語はCよりも遅くなければならないと考えるのは当然です。 両方のプログラムが同じ入力、出力、アルゴリズムを持っている場合、遅いものは不必要な作業をすると思います。 なぜ不要な作業を排除できないのですか?高水準のプログラミング言語がC言語ほど速くないのはなぜですか?

+0

前提条件...これを測定しましたか? – Oded

+0

簡単な議論はありません。関連性:[Reader Q&A:JITが管理コードを保存するのはいつですか?](http://herbsutter.com/2012/04/02/reader-qa-when-will-better-jits-save-managed-code/) – sehe

+1

まあ... *不要な作業*はたぶんガベージコレクション、メモリの安全性、それほど重要ではないことです。それらを高級言語から削除すると、おそらくCほど速いものがあるでしょう。 –

答えて

1

ほとんどの場合、高レベルの言語が解釈され、仮想マシンで実行されるためです。適切なJITコンパイラを実行し、言語中間表現がマシンコードに十分近い場合、LuaJITのように驚くべき結果が得られます。

関連する問題