バイナリのサイズは実行速度にどのように影響しますか? 具体的には、ANSI-C で記述されたコードを gnu または intel コンパイラを使用して機械語に変換することについて話しています。バイナリのターゲット プラットフォームは、Linux オペレーティング システムを実行する Intel または AMD マルチコア CPU を搭載した最新のコンピューターです。このコードは、openMP を使用しておそらく並列で数値計算を実行し、バイナリは数メガバイトになる可能性があります。
実行時間は、コードとライブラリのロードに必要な時間よりもはるかに長くなることに注意してください。中程度のシステム サイズでは通常 CPU に依存するが、メモリに依存することもある運動方程式のシミュレーションのために、大規模な常微分方程式系を解くために使用される非常に特殊なコードについて考えます。
小さなバイナリ サイズが非常に効率的なコードの設計基準であるべきかどうか、または明示的なコード (関数として実装できるコード ブロックを最終的に繰り返す) とコンパイラの最適化 (ループ展開など) を常に優先できるかどうかを尋ねています。
プロファイリングのテクニックと、それを特定の問題に適用する方法については知っていますが、どの程度まで一般的なステートメントを作成できるか疑問に思っています。