JSONIC 1.3.0 ベータ2 でどれくらい速度が改善したか
というわけで、JSONIC 1.3.0 ベータ2 出しました。直前の計測では、GSONを上回るパフォーマンスが出ていたのですが、GSON2.1が出ているのを気づかずにいたため、入れ替えて測ってみたら、高速化されててまた負けてしまってましたorz
まぁ、それはともかく、JSONICもかなり高速になったので、最新の比較結果を載せて置きます。JSONICを公開している身としては、parseもformatもほとんど最低限の処理しかしていないので、高速化としては限界に近いかなぁーと思ってます。Jacksonのソースも見てみましたが、おそらく現状のJacksonの速度が実現可能な上限で、微妙な処理の差が速度の差に繋がっているのかなぁ、と。
JSONIC (1.3.0b2) |
Gson (2.1) |
Jackson (1.9.3) |
json-simple (1.1) |
|
---|---|---|---|---|
List ⇒ JSON | 0.728 | 2.635 | 0.610 | 1.788 |
Map ⇒ JSON | 1.621 | 7.285 | 1.255 | 4.250 |
Bean ⇒ JSON | 1.803 | 7.265 | 1.163 | N/A |
JSON ⇒ List | 1.079 | 0.933 | 0.932 | 1.576 |
JSON ⇒ Map | 3.107 | 3.056 | 3.035 | 6.326 |
JSON ⇒ Bean | 5.320 | 1.778 | 1.485 | N/A |
なお、データは前回、前々回同様、日本郵便のページからダウンロードできる郵便番号データCSV(12万件)を配列の配列形式JSONに変換したもの、およびオブジェクトの配列形式JSONに変換した二種類を用意して使用しています。結果は、それぞれ処理を10回ループさせて、4〜10回目の結果の平均値です(数字は秒)。