JSONシリアライズ、デシリアライズは様々な場面で利用されていますが、PHPで利用できるいくつかの方法についてベンチマークをとってみました。
今回ベンチマークをとったもの
- Jsphon
- Service_JSON(PEAR)
- JSON拡張モジュール(PHP5.2以降)
データはシリアライズした状態で1.3MB程度のもので、表中の数値の単位はsecです。
方法 | シリアライズ | デシリアライズ |
---|---|---|
1.Jsphon | 0.309061000 | 1.003740000 |
2.Service_JSON(PEAR) | 1.165247000 | 31.555125000 |
3.JSON拡張モジュール(PHP5.2以降) | 0.005719000 | 0.014576000 |
(参考)PHPのserialize() | 0.000720000 | 0.000854000 |
かなり大きな差があることがわかりました。PHP5.1以前であればJsphon、PHP5.2以降であればデフォルトで利用できる拡張モジュールがお勧めです。Service_JSONは今回の実験では惨憺たる結果でした。