[解決済み】なぜC言語はこんなに速いのか、なぜ他の言語は同じかそれ以上速くないのか?[クローズド]
2022-04-20 07:11:06
質問
StackOverflowのポッドキャストを聞いていると、「本当のプログラマはC言語で書いている」「C言語はマシンに近いから速い」というジャブが何度も出てきます。前者の主張は別の記事に譲るとして、他の言語より速くできるC言語の特徴は何なのでしょう。前者の主張は別の記事に譲るとして、C言語の何が他の言語より速いのか、あるいは別の言い方をすれば、他の言語がCと同じくらい速く動作するバイナリにコンパイルできない理由は何なのか?
どうすれば解決するの?
C言語には特別なことはあまりない。それが速い理由の一つでもある。
をサポートしている新しい言語です。 ガベージコレクション , 動的型付け といった、プログラマがプログラムを書きやすくするための機能を備えています。
しかし、アプリケーションのパフォーマンスを低下させるような処理のオーバーヘッドが追加で発生するのが難点です。C言語にはそれがない、つまりオーバーヘッドがないのですが、その分、プログラマーはメモリの確保と解放を防ぐために メモリリーク また、変数の静的型付けに対応しなければなりません。
とはいえ、多くの言語やプラットフォーム、例えばJava(その Java仮想マシン や.NET(Common Language Runtime)などは、長年にわたってパフォーマンスを向上させてきました。 ジャストインタイムコンパイル バイトコードからネイティブなマシンコードを生成することで、より高いパフォーマンスを実現します。
関連
-
[解決済み】MB/sとMiB/sを計算する方法は?
-
[解決済み] Python 3で「1000000000000000 in range(1000000000000001)」はなぜ速いのですか?
-
[解決済み] 要素ごとの加算は、結合ループよりも分離ループの方がはるかに高速なのはなぜですか?
-
[解決済み] Collatz予想の検証を行うC++のコードは、なぜ手書きのアセンブリよりも高速に動作するのでしょうか?
-
[解決済み] なぜPythonのコードは関数の中でより速く実行されるのですか?
-
[解決済み] なぜJavaでは2 * (i * i)の方が2 * i * iより速いのですか?
-
[解決済み] マクロで無意味なdo-while文やif-else文を使っているのはなぜですか?
-
[解決済み] なぜ[]はlist()よりも速いのですか?
-
[解決済み】なぜこれらのコンストラクトはプリインクリメントとポストインクリメントを使用して未定義の動作をしているのでしょうか?
-
[解決済み】PyPyが6.3倍速いなら、CPythonよりPyPyを使うべきじゃないのか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Cコンパイルエラー。"変数サイズのオブジェクトが初期化されていない可能性がある"
-
[解決済み】C 言語の添え字で配列の要素値を代入すると、配列でもポインタでもベクトルでもない値になる
-
[解決済み】「無効なイニシャライザー」と表示されるのですが、何が間違っているのでしょうか?
-
[解決済み】メモリー・クロバリング・エラー
-
[解決済み】sizeof float (3.0) vs (3.0f)
-
[解決済み] char pointers: 'char*' から 'char' への無効な変換?
-
[解決済み】未定義参照 makefile が間違っているのかも?
-
[解決済み] '{'トークンの前に期待される式
-
[解決済み】エラー:呼び出されたオブジェクトは、関数または関数ポインタではない
-
[解決済み] エラー: `itoa` はこのスコープで宣言されていません。