1. ホーム
  2. c

[解決済み】なぜC言語はこんなに速いのか、なぜ他の言語は同じかそれ以上速くないのか?[クローズド]

2022-04-20 07:11:06

質問

StackOverflowのポッドキャストを聞いていると、「本当のプログラマはC言語で書いている」「C言語はマシンに近いから速い」というジャブが何度も出てきます。前者の主張は別の記事に譲るとして、他の言語より速くできるC言語の特徴は何なのでしょう。前者の主張は別の記事に譲るとして、C言語の何が他の言語より速いのか、あるいは別の言い方をすれば、他の言語がCと同じくらい速く動作するバイナリにコンパイルできない理由は何なのか?

どうすれば解決するの?

C言語には特別なことはあまりない。それが速い理由の一つでもある。

をサポートしている新しい言語です。 ガベージコレクション , 動的型付け といった、プログラマがプログラムを書きやすくするための機能を備えています。

しかし、アプリケーションのパフォーマンスを低下させるような処理のオーバーヘッドが追加で発生するのが難点です。C言語にはそれがない、つまりオーバーヘッドがないのですが、その分、プログラマーはメモリの確保と解放を防ぐために メモリリーク また、変数の静的型付けに対応しなければなりません。

とはいえ、多くの言語やプラットフォーム、例えばJava(その Java仮想マシン や.NET(Common Language Runtime)などは、長年にわたってパフォーマンスを向上させてきました。 ジャストインタイムコンパイル バイトコードからネイティブなマシンコードを生成することで、より高いパフォーマンスを実現します。