firefox3.1 beta2をさわってみた(適当なベンチ)


めちゃくちゃ適当だが、
http://sorrex.googlecode.com/svn-history/r63/trunk/js/parse.html

4万文字の適当なプレーンテキストを食わせると

Chrome 10ms
firefox3.0 30ms
firefox3.1 beta2 23ms
IE6 80ms

http://sorrex.googlecode.com/svn-history/r63/sorrex.summary.txt
を10回繰り返したものを食わせると

Chrome 60ms
firefox3.0 170ms
firefox3.1 beta2 140ms
IE6 600ms


firefox3.0のfirebugでのプロファイリングが
前者

yyparse 56 16.54% 676.106ms ハッシュアクセス、演算
_html 28448 14.97% 611.895ms str.replace(), arr.join("")
getProperties 26600 7.37% 301.068ms arr.join("")
f 28504 6.45% 263.795ms
get 28504 5.28% 215.718ms ハッシュアクセス
initialize 28504 4.06% 166.045ms
yylex 28504 3.2% 130.902ms


後者

yyparse 49 25.07% 4872.689ms ハッシュアクセス、演算
_html 100499 8.35% 1621.835ms str.replace(), arr.join("")
get 208348 7.86% 1527.142ms ハッシュアクセス、str.substring()
getProperties 98539 5.97% 1159.219ms str.replace(), arr.join("")
f 131908 5.47% 1063.224ms
yylex 208348 4.84% 940.521ms
initialize 131908 4.32% 840.07ms


後者のが 関数呼び出しが多い+replaceコスト+substringコスト+正規表現コスト で重い
tracemonkeyで2,3割早くなってるが、後者でも差はあまり縮まっていないところを見るとなかなか期待できそう

正確なテストはそのうち誰かがやってくれる、きっと…