methaneのブログ

このブログに乗せているサンプルコードはすべてNYSLです。

MessagePack 0.1.1 リリース

会社のBlogでも告知しているんだけど、会社のBlogはPythonistaのアンテナにあまり登録されていない気がするのでこちらでも告知しておく。
http://dsas.blog.klab.org/archives/51456004.html

MessagePackはjson相当の機能をもつけれどもjsonと違いバイナリフォーマットになっているので、高速・高効率。詳しくは上のBlog参照。

ベンチマーク結果だけ引用しておく

== Integer ==
= Size =
pickle: 6203398 [bytes]
json:   5154816 [bytes]
mpack:  2752517 [bytes]
pickle_dump   248.640[ms]
pickle_load   360.288[ms]
json_dump     255.601[ms]
json_load     136.922[ms]
mpack_pack    51.383[ms]
mpack_unpack  26.851[ms]
== String ==
= Size =
pickle: 33731696 [bytes]
json:   33611776 [bytes]
mpack:  33595139 [bytes]
pickle_dump   182.324[ms]
pickle_load   141.639[ms]
json_dump     126.675[ms]
json_load     93.945[ms]
mpack_pack    66.833[ms]
mpack_unpack  34.953[ms]

もっと高速化したいが、インライン展開されまくりでどこがボトルネックになっているのかパッと見で判らないので、真面目にプロファイル取って最適化する気力と時間ができるまでお預け。