cyber205の日記: コンパイル時点で実行完了、バイナリには定数をセットするだけのコードが載る最適化 3
日記 by
cyber205
clang+llvmでさりげなくすごいコードが生成されていた話。
凄いなぉぃ。
結果が分かってるなら定数セットしときゃOKだろ?ってな最適化を本当にやっちまうコンパイラがあるとは。
これで、あらかじめ結果の分かっている円周率なんかを計算すると実行時に超絶高速化が…(んなわけない)
いや、その前にコンパイルが終わらないか。
clang+llvmでさりげなくすごいコードが生成されていた話。
凄いなぉぃ。
結果が分かってるなら定数セットしときゃOKだろ?ってな最適化を本当にやっちまうコンパイラがあるとは。
これで、あらかじめ結果の分かっている円周率なんかを計算すると実行時に超絶高速化が…(んなわけない)
いや、その前にコンパイルが終わらないか。
人生unstable -- あるハッカー
という事は (スコア:2)
ベンチマークテストをする場合、入力を定数のみにするとマズイと。
何今さらその程度で驚いてるの (スコア:0)
gccもそれくらいとっくに…と思ったら4.8でどうやらregression起こしたのか。
Re:何今さらその程度で驚いてるの (スコア:1)
空ループのつもりで書いた for ( i =0 ; i<1000 ; i++ ) ; みたいな何もしないコードはさくっと削除されてたような。