Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {'juanjo': 2, 'pedro':99, 'other': 333}
- wget https://gist.github.com/jdimatteo/af317ef24ccf1b3fa91f4399902bb534/raw/03e8dbab11b5605bc572bc117c8ac34cfa959a70/pickle_vs_json.py
- python pickle_vs_json.py
- Dir Entries Method Time Length
- dump 10 JSON 0.017 1484510
- load 10 JSON 0.375 -
- dump 10 Pickle 0.011 1428790
- load 10 Pickle 0.098 -
- dump 20 JSON 0.036 2969020
- load 20 JSON 1.498 -
- dump 20 Pickle 0.022 2857580
- load 20 Pickle 0.394 -
- dump 50 JSON 0.079 7422550
- load 50 JSON 9.485 -
- dump 50 Pickle 0.055 7143950
- load 50 Pickle 2.518 -
- dump 100 JSON 0.165 14845100
- load 100 JSON 37.730 -
- dump 100 Pickle 0.107 14287900
- load 100 Pickle 9.907 -
- import msgpack
- import json
- import pickle
- import timeit
- import cPickle
- import numpy as np
- num_tests = 10
- obj = np.random.normal(0.5, 1, [240, 320, 3])
- command = 'pickle.dumps(obj)'
- setup = 'from __main__ import pickle, obj'
- result = timeit.timeit(command, setup=setup, number=num_tests)
- print("pickle: %f seconds" % result)
- command = 'cPickle.dumps(obj)'
- setup = 'from __main__ import cPickle, obj'
- result = timeit.timeit(command, setup=setup, number=num_tests)
- print("cPickle: %f seconds" % result)
- command = 'cPickle.dumps(obj, protocol=cPickle.HIGHEST_PROTOCOL)'
- setup = 'from __main__ import cPickle, obj'
- result = timeit.timeit(command, setup=setup, number=num_tests)
- print("cPickle highest: %f seconds" % result)
- command = 'json.dumps(obj.tolist())'
- setup = 'from __main__ import json, obj'
- result = timeit.timeit(command, setup=setup, number=num_tests)
- print("json: %f seconds" % result)
- command = 'msgpack.packb(obj.tolist())'
- setup = 'from __main__ import msgpack, obj'
- result = timeit.timeit(command, setup=setup, number=num_tests)
- print("msgpack: %f seconds" % result)
- pickle : 0.847938 seconds
- cPickle : 0.810384 seconds
- cPickle highest: 0.004283 seconds
- json : 1.769215 seconds
- msgpack : 0.270886 seconds
Add Comment
Please, Sign In to add comment