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