(特定のマシンで) 最適なコンパイラ オプションを自動的に見つけて、実行可能ファイルを最速にする方法はありますか?
当然、私は を使用しますg++ -O3
が、コードの実行を高速化する追加のフラグがあります。たとえば-ffast-math
、ハードウェアに依存するものもあります。
configure.ac
コマンドによってフラグが Makefile に自動的に追加されるように、ファイル (GNU autotools) に入れることができるコードを誰かが知っています./configure
か?
最適なフラグを自動的に決定することに加えて、ほとんどの最適化された実行可能ファイルのデフォルトとして使用するのに適した、いくつかの便利なコンパイラ フラグに興味があります。
更新:ほとんどの人は、さまざまなフラグを試して、経験的に最適なものを選択することを提案しています。その方法については、フォローアップの質問があります: 私が実行しているマシンで可能なすべてのコンパイラ フラグを一覧表示するユーティリティはありますか (たとえば、SSE 命令が使用可能かどうかのテストなど)?