Guest User

Untitled

a guest
Dec 11th, 2017
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.01 KB | None | 0 0
  1. {'juanjo': 2, 'pedro':99, 'other': 333}
  2.  
  3. wget https://gist.github.com/jdimatteo/af317ef24ccf1b3fa91f4399902bb534/raw/03e8dbab11b5605bc572bc117c8ac34cfa959a70/pickle_vs_json.py
  4. python pickle_vs_json.py
  5.  
  6. Dir Entries Method Time Length
  7.  
  8. dump 10 JSON 0.017 1484510
  9. load 10 JSON 0.375 -
  10. dump 10 Pickle 0.011 1428790
  11. load 10 Pickle 0.098 -
  12. dump 20 JSON 0.036 2969020
  13. load 20 JSON 1.498 -
  14. dump 20 Pickle 0.022 2857580
  15. load 20 Pickle 0.394 -
  16. dump 50 JSON 0.079 7422550
  17. load 50 JSON 9.485 -
  18. dump 50 Pickle 0.055 7143950
  19. load 50 Pickle 2.518 -
  20. dump 100 JSON 0.165 14845100
  21. load 100 JSON 37.730 -
  22. dump 100 Pickle 0.107 14287900
  23. load 100 Pickle 9.907 -
  24.  
  25. import msgpack
  26. import json
  27. import pickle
  28. import timeit
  29. import cPickle
  30. import numpy as np
  31.  
  32. num_tests = 10
  33.  
  34. obj = np.random.normal(0.5, 1, [240, 320, 3])
  35.  
  36. command = 'pickle.dumps(obj)'
  37. setup = 'from __main__ import pickle, obj'
  38. result = timeit.timeit(command, setup=setup, number=num_tests)
  39. print("pickle: %f seconds" % result)
  40.  
  41. command = 'cPickle.dumps(obj)'
  42. setup = 'from __main__ import cPickle, obj'
  43. result = timeit.timeit(command, setup=setup, number=num_tests)
  44. print("cPickle: %f seconds" % result)
  45.  
  46.  
  47. command = 'cPickle.dumps(obj, protocol=cPickle.HIGHEST_PROTOCOL)'
  48. setup = 'from __main__ import cPickle, obj'
  49. result = timeit.timeit(command, setup=setup, number=num_tests)
  50. print("cPickle highest: %f seconds" % result)
  51.  
  52. command = 'json.dumps(obj.tolist())'
  53. setup = 'from __main__ import json, obj'
  54. result = timeit.timeit(command, setup=setup, number=num_tests)
  55. print("json: %f seconds" % result)
  56.  
  57.  
  58. command = 'msgpack.packb(obj.tolist())'
  59. setup = 'from __main__ import msgpack, obj'
  60. result = timeit.timeit(command, setup=setup, number=num_tests)
  61. print("msgpack: %f seconds" % result)
  62.  
  63. pickle : 0.847938 seconds
  64. cPickle : 0.810384 seconds
  65. cPickle highest: 0.004283 seconds
  66. json : 1.769215 seconds
  67. msgpack : 0.270886 seconds
Add Comment
Please, Sign In to add comment