前回、PHPで利用可能なJSONシリアライズのいくつかの方法についてベンチマークをとった続きで、今回はJSONに代わるMessagePackのベンチマークをとってみました。
PECLでmgspackをインストール
1 |
$ pecl install channel://pecl.php.net/msgpack-0.5.5 |
ベンチマークの結果
JSONはPHP5.2から標準でバンドルされているJSON拡張モジュールを使用しました。
方法 | シリアライズ(sec) | デシリアライズ(sec) | サイズ(byte) |
---|---|---|---|
JSON拡張モジュール | 0.005523000 | 0.015023000 | 1,262,222 |
MessagePack | 0.000734000 | 0.000831000 | 671,058 |
(参考)PHPのserialize() | 0.000984000 | 0.000799000 | 689,755 |
MessagePackの圧勝で、serialize()に匹敵する処理性能という結果になりました。MessagePackが使える環境ではJSONからの置き換えが進みそうです。