pythonの連想配列シリアライズの速度比較 (simplejson vs pickle)

python連想配列をDBに入れるときにシリアライズする方法を調べてみました。
最初はdjangoのsimplejsonを使うことを考えていましたが、
標準でpickleというモジュールがあることを知ったので速度比較してみました。
結果から見るとsimplejsonの方がシリアライズはわずかに速く、戻すのは2倍ぐらいかかりました。


encode json:
user 0m3.316s
decode json:
user 0m7.883s
encode pickle:
user 0m3.701s
decode pickle:
user 0m3.407s

ネストを含む連想配列dについて10000回ループしました。
使ったデータがマル秘だったのでソースコードは一部だけ載せておきます。

from django.utils import simplejson
import pickle

d = {
  #略
}
j = simplejson.dumps(d)
p = pickle.dumps(d)

#以下の部分だけ4通り変えて計測
simplejson.dumps(j)  #json encode
simplejson.loads(d)   #json decode
pickle.dumps(p)  #pickle encode
pickle.loads(d)  #pickle decode