msgpack.js をさらに速く

昨日に比べて2倍速ぐらいになりました。
https://github.com/uupaa/msgpack.js/blob/master/msgpack.js

Data = 10000

Opera 10.63 Firefox 4.0β7 Chrome 9 dev IE9pp7
JSON.stringify 53 24 67 38
JSON.parse 11 34 29 16
stringify + parse 64 58 97 54
msgpack.pack 42 60 25 28
msgpack.unpack 32 41 31 15
pack + unpack 74 101 56 43

(単位:ms)

Data = 100000

Opera 10.63 Firefox 4.0β7 Chrome 9 dev IE9pp7
JSON.stringify 290 224 619 309
JSON.parse 78 277 441 133
stringify + parse 368 502 1060 442
msgpack.pack 313 465 196 266
msgpack.unpack 303 435 335 170
pack + unpack 616 900 531 436

OperaJSON.parse が鬼速です。ちゃんとパースできてる? って不安になるほどです。


IEEE754 周りの改善は @edvakf さんからでっかいヒントを頂きました。
http://javascript.g.hatena.ne.jp/edvakf/20101128/1291000731

最終的な実装は異なっていますが、edvakf さんがいなければ、ここまで速くなる前に諦めていたかもしれません。感謝感謝です。

速度的には JSON と張り合える感じになってきたので、JSON と MessagePack を使い分けるようになる日も近いかもしれませんね。