バイナリ形式の軽量なオブジェクトのシリアライズフォーマットである MessagePack(以下、msgpack)のエンコード・デコードを行う JavaScript ライブラリ msgpack-lite を2015年7月にリリースしました。node.js v0.10 から最新の v5.3、またブラウザも含めて幅広い環境で動作するのが特徴で、fluent-logger ライブラリも、msgpack に替えて msgpack-lite を採用しています。 以下では、msgpack を実装した際に注意したポイントを、2つご紹介します。 C++ よりも高速なピュア JavaScript 実装 本題に入る前に、ベンチマーク結果を更新しておいたので、ここに載せておきます。 最新バージョン msgpack-lite 0.1.14 の node.js v4.2.3 におけるベンチマーク結果です。 msgpa
![msgpack-lite メモリコピーを防いで高速化した話 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/bd274831dfb37388be99d0c2982ee3f3480f1b62/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Fadvent-calendar-ogp-background-f625e957b80c4bd8dd47b724be996090.jpg%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9bXNncGFjay1saXRlJTIwJUUzJTgzJUExJUUzJTgzJUEyJUUzJTgzJUFBJUUzJTgyJUIzJUUzJTgzJTk0JUUzJTgzJUJDJUUzJTgyJTkyJUU5JTk4JUIyJUUzJTgxJTg0JUUzJTgxJUE3JUU5JUFCJTk4JUU5JTgwJTlGJUU1JThDJTk2JUUzJTgxJTk3JUUzJTgxJTlGJUU4JUE5JUIxJnR4dC1jb2xvcj0lMjMzQTNDM0MmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkNtaWRkbGUmcz1hNTIwNDU2OGIyMWU3ODVmNDQ3YjAwNjE1NzU3YzcxYw%26mark-x%3D142%26mark-y%3D151%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwa2F3YW5ldCZ0eHQtY29sb3I9JTIzM0EzQzNDJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9YjlkODM0ZjI1OGMzNTc4ODY4NzdiYjBhZDA5NzY3OGQ%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D68dd998f6184527574e5da05f5ac06bb)