これは
初老丸アドベントカレンダー 24 日目の記事です。
ということで、自分の記事はずーっと小ネタですいません。
初老と Python (4) 〜 JSON モジュールオリンピック 2016 冬 〜
JSON モジュールって...
今まで標準の json モジュールしか知りませんでしたが、とあるお仕事で Python スクリプトのボトルネックを調査していたところ、標準の json モジュールが結果として遅いんだ...という結論に至りました。
さて、他の json モジュールを選ばなければいけません...ということで、幾つかの JSON モジュールの処理速度比較というのをやってみました。
尚、環境によって結果は変動することが想定されますので、あくまでも参考程度に読んで頂けると幸いです。
出場選手
第一のコース
- 標準の json モジュール
- いつもお世話になってます
第二のコース
- simplejson モジュール
- https://pypi.python.org/pypi/simplejson
第三のコース
- ujson モジュール
- https://pypi.python.org/pypi/ujson
競技上の諸注意
OS 環境
bash-3.2$ sw_vers ProductName: Mac OS X ProductVersion: 10.11.6 BuildVersion: 15G1108
Python バージョン
サンプルデータ
- https://www.mockaroo.com にて JSON データを 1000 レコード作成して取得
- 同様に https://www.mockaroo.com より CSV データを 1000 レコード作成して取得
競技方法
スクリプト
- Python 2 系:https://gist.github.com/inokappa/ad27a544d6c40ca845f9f889213b2b1d
- Python 3 系:https://gist.github.com/inokappa/7877f659757fedf202355a19ec9e383c
結果
概要
JSON デコード
Python 2.7.13(※ Y 軸の単位は sec)
Python 3.6.0(※ Y 軸の単位は sec)
JSON エンコード
Python 2.7.13(※ Y 軸の単位は sec)
Python 3.6.0(※ Y 軸の単位は sec)
以上
メモでした。