GCC最適化+α
最適化オプション -O3 に加えて、以下のオプションを与えるどうなるか。環境はIntel Core2 Duo 1.2GHz。プログラムはHS法の線型数値計算の反復1000回をYosemiteに。OpenMP有効、-O3で標準3.0秒弱。
- -march=native: ほぼ変わらない。気持速くなる誤差。
- -mfpmath=sse: ちょびっと(約0.2秒)だけ遅くなる。当然演算結果は極僅かに異なる。
- -fomit-frame-pointer: レジスタが一つ増える分?ちょびっと(約0.1秒)だけ速くなる。当然デバッグはできなくなる。
という結果に…。プログラムによるかもしれないけど、線型の反復数値計算ではほとんど誤差の範囲内ですよ!気持ちが大事かもしれない(謎。