回答:
-O3
いくつかの欠点があります:
-O2
またはよりも遅いコードを生成することがよくあります-Os
。ループのアンロールが原因で長いコードが生成される場合がありますが、実際にはコードのキャッシュパフォーマンスが低下するために遅くなる場合があります。-O3
ます。-O3
flagは、コンテキスト切り替えのコストやI / Oの速度を変更しません。全体的なパフォーマンスの<0.1%の高速化は価値があるとは思いません。-O3は、レジスタの使用、スタックフレームとの相互作用、および関数の再入に関する特定の仮定が真である場合にのみ安全ないくつかの積極的な最適化を使用します。使用(カーネルとそのドライバーモジュールの一部の非常に低レベルの部分にあるように)。
-O2
天候やない、それは痛いか助け知っている
ほとんどのアプリケーションで-O3およびその他の最適化ノブを使用することで回避できますが(速度が向上する可能性があります)、カーネル自体またはそのビルドに必要なツールチェーン(コンパイラ、binutils、等。)。
考えてみてください:raidおよびext3サブシステムの5%のパフォーマンス向上は、システムクラッシュまたは潜在的なデータ損失や破損の価値がありますか?
再生中のQuakeポートまたはDVDコレクションをdivxファイルにリッピングするために使用するオーディオ/ビデオコーデックに必要なすべてのノブを微調整します。おそらく改善が見られます。無駄にする時間がなくて、データを失うのを我慢できない限り、カーネルを混乱させないでください。
-O0
、まったくサポートされていません!stackoverflow.com/questions/29151235/...