x86/x64最適化勉強会3
行ってきた & 話してきた。皆様お疲れさまでした & ありがとうございました。
内容は↓
http://int.main.jp/txt/gcc-mtune.html
今回一番反省すべき点は、直前まで資料作ってなくて、他の人の話聞いてなかったことか…
一応言い訳しておくと、
- -mtuneの話をしようと決めたけど、どういう流れにしたらいいか思い付かん
- とりあえず何かベンチマーク取って、1. 最終結果 2. GCCの実装 3. GCCの実装と結果の照合 みたいな流れにするか
- Parsecで取った → 結果に違いが見られない!!
- しゃーないからGCC vs LLVMにするか
- 違い出た!でもLLVMに-O3相当の変換が入ってないのが理由とかでx86関係無い!
- -O2 と LLVMで比較するか
- -O2だと -mtune で違い出てるのでは? (これが今日の朝あたり)
- やっぱり-mtuneにしよう
- これ -march=native 付けてるのが原因じゃないか! (これが15:00あたり)
と、いう感じで、まあ、まとめると、言い訳というか、自分が悪かったのを確認した感じだった。
しかし、まさかの25/30分で終了で時間完璧だったので、反省する心を忘れそうだ。
https://twitter.com/#!/search/%23x86opti 見た感じ、詳細知りたかったのは、分岐の話か…
多分、広域分岐予測が効いてる気がするのだけど…(追記:資料見た。外れる順というより、偏りが大きい順という話か。広域分岐予測は全然関係ない)nopは16byte境界かな…
あと資料調べてて一番勉強になったのは、イチロー伝説とヨハネスブルグコピペは別物だというのがわかった点か。一緒のものだと思ってた。