2010-09-21

ss-math-cordic

IE9でチートしているという噂のSunSpiderのmath-cordicだけど、ちょっと最近おもしろい話を見つけてしまった。っていうか、なんでFirefoxのWindowsのビルドだけ遅いのかってことだけどさ。

  1. そもそも、jimbがWin64のコードレビューをしてくれない (MSVCのバグのおかげで計算結果がおかしいので、そのバグを回避するコードなんだけどさ。これさえチェックインできれば、Win64はテストをオールパスする)
  2. ねじ込む理由でも考えるために、いろいろ調べ始める。
  3. うちの開発環境のMacとノートPCのWindows 7でパフォーマンス見たら、なぜかMacが圧倒的に速い。両方ともCore 2 Duo 2GHz (世代は違うけど)。しかもCore i7 920よりもCore 2 Duoが速いなんて、納得いかないし!
  4. 納得いかないから調べると、とあるところがボトルネックになってそうなことが判明。しかもそこ、gcc x86だけ使うパスがある。そこをMSVCとgcc x86_64でも有効にすると同じパフォーマンスを得る。
  5. IEEの浮動小数点フォーマット見る限り、同じパスが使えるのは確認済みだし、バグファイルする。これやばくね?
  6. な、馬鹿な!って全員思う。っていうかみんなMac使いすぎ
  7. とある関数が、TraceMonkeyとnon-JITのみ使うパスで約30万回呼び出されると指摘する。(というか、JaegerMonkeyでもビット計算の時も通ると思うんだけど) <--- いまここ

0 件のコメント: