バイナリ形式の軽量なオブジェクトのシリアライズフォーマットである 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/f91208a5571ac3daa3478e544596c00b8f52d0fe/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-7940cd1c8db80a7ec40711d90f43539e.jpg%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9bXNncGFjay1saXRlJTIwJUUzJTgzJUExJUUzJTgzJUEyJUUzJTgzJUFBJUUzJTgyJUIzJUUzJTgzJTk0JUUzJTgzJUJDJUUzJTgyJTkyJUU5JTk4JUIyJUUzJTgxJTg0JUUzJTgxJUE3JUU5JUFCJTk4JUU5JTgwJTlGJUU1JThDJTk2JUUzJTgxJTk3JUUzJTgxJTlGJUU4JUE5JUIxJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMzQTNDM0MmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz1jNTVkNjg0ZTViNWRlMzU5NDc0NWI3YjVkMTAyZTlkZg%26mark-x%3D120%26mark-y%3D96%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9OTcyJnR4dD0lNDBrYXdhbmV0JnR4dC1jb2xvcj0lMjMzQTNDM0MmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1mYzQ2NTVkNDQ0YmQwNDZkNDZlNTNiNzdkM2FmOWE5MA%26blend-x%3D120%26blend-y%3D500%26blend-mode%3Dnormal%26s%3D363e207f0d2de5882fc4d826c29f16bc)