x86/x64最適化勉強会3

行ってきた & 話してきた。皆様お疲れさまでした & ありがとうございました。
内容は↓
http://int.main.jp/txt/gcc-mtune.html

今回一番反省すべき点は、直前まで資料作ってなくて、他の人の話聞いてなかったことか…

一応言い訳しておくと、

  1. -mtuneの話をしようと決めたけど、どういう流れにしたらいいか思い付かん
  2. とりあえず何かベンチマーク取って、1. 最終結果 2. GCCの実装 3. GCCの実装と結果の照合 みたいな流れにするか
  3. Parsecで取った → 結果に違いが見られない!!
  4. しゃーないからGCC vs LLVMにするか
  5. 違い出た!でもLLVMに-O3相当の変換が入ってないのが理由とかでx86関係無い!
  6. -O2 と LLVMで比較するか
  7. -O2だと -mtune で違い出てるのでは? (これが今日の朝あたり)
  8. やっぱり-mtuneにしよう
  9. これ -march=native 付けてるのが原因じゃないか! (これが15:00あたり)

と、いう感じで、まあ、まとめると、言い訳というか、自分が悪かったのを確認した感じだった。


しかし、まさかの25/30分で終了で時間完璧だったので、反省する心を忘れそうだ。


https://twitter.com/#!/search/%23x86opti 見た感じ、詳細知りたかったのは、分岐の話か…
多分、広域分岐予測が効いてる気がするのだけど…(追記:資料見た。外れる順というより、偏りが大きい順という話か。広域分岐予測は全然関係ない)nopは16byte境界かな…


あと資料調べてて一番勉強になったのは、イチロー伝説ヨハネスブルグコピペは別物だというのがわかった点か。一緒のものだと思ってた。