msgpack.js を改善しました
https://github.com/uupaa/msgpack.js
速度を改善
JITの最適化を促進する方法をピコーンしたので、IEEE754周りの速度を改善しました。Opera(右上)で特に効果が見られます。
- IEEE754ベンチ: https://github.com/uupaa/msgpack.js/blob/master/test/IEEE754.bench.htm
- 実行結果: http://yfrog.com/762if0j (↖Chrome 9 dev, ↙IE9pp7, ↗Opera10.63, ↘Firefox4β7)
循環参照を検出
msgpack.pack() でオブジェクトの循環参照を検出し、スタックオーバーフローが発生しないようにしました。
循環参照発生時は msgpack.pack() が false を返します。
仕組みは単純で、ネストレベルが512を超えたらエラーにしています。エラーが発生すると、msgpack.pack() が false を返すように仕様を追加しています。