Cとシェルスクリプトのどちらが高速ですか?なぜ?

Cとシェルスクリプトのどちらが高速ですか?なぜ?

Cまたはシェルスクリプトのどちらがより速く実行されるかについての詳細(可能であればいくつかの統計)を探しています。私も答えの理由を知りたいです。

PSのどちらが良いかという質問ではありません。私はCを使うときとシェルスクリプトを使うときを知っていますが、速度とパフォーマンスを比較する方法についてもっと知りたいです。

答え1

時々違うよねこのサイトを閲覧すると(負のスコアを持つ投稿を見つける)、いくつかの例を見ることができます。ひどい一度に 1 行ずつファイルを読み込み、ファイル全体を処理できるプログラムに各行をエコーするなどの作業を行うシェルスクリプトです。これらのスクリプトは自然に非常に遅く実行されます。

ただし、あまり気軽に必要なものを正確に実行する既存のプログラム(または小さなプログラムセット)がある場合は、Cプログラムを書くことができるものよりも速く実行されるスクリプトを非常にすばやく作成できます。開発努力。私たちはいくつかのGNU / Linuxプログラムを非常に効率的にするために多くの時間と労力を費やしています。たとえば、場合によっては、GNUがgrep入力のすべての文字を見る必要はありません。プログラムになりますか?あなたとても巧妙に書かれましたか?

強制xkcd:

        自動化:実際に継続的な開発時間は、作業自動化によって節約される時間よりも長くなります。

答え2

シェルが解釈されます。これは、それ自体が特別にコーディングされたアプリケーションほど高速ではないことを意味します。実装する同等の能力を持つプログラマーによって書かれました。

さらに重要なのは、時間をどのように計算するかによって答えが変わることです。つまり、スクリプトの実行時間だけでなく開発時間も計算する必要があります。

関連情報