1年ほど前に作ったsha1.jsをgoogle Chrome上でベンチマークをとってみました(Win Xp@Core2Dup 2.6GHz).
結果はpajhomeさんの実装では20倍以上もの凄まじい速度向上がありましたが,もともと最適化していた私ものものはあまり速くなっていません.
これはループアンロールなどの(つまらない)努力は不要になるということで,すばらしいことです.
ただ数値計算に限っては,もともと十分に最適化されていればIE6と大きく変わるものでもないとも言えます.
ちなみにC++でのSHA-1では0.0056msecでした.まだ100倍ほどの開きはあるようです.
ところでchromeのJIT部分で使ってるassembler-ia32.ccなんかみるとxbyak使ってほしいなとか思ったり.x86-64への対応が簡単になると思いますがいかがでしょう.
my SHA-1 | pajhome | JavaScriptでハッシュアルゴリズム | |
---|---|---|---|
IE6 | 0.94msec | 10.47msec | 6.25msec |
Firefox 3.0.1 | 0.63msec | 2msec | 1.39msec |
Chrome | 0.55msec | 0.44msec | 0.65msec |