Advertisement
Guest User

Untitled

a guest
Oct 20th, 2016
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.11 KB | None | 0 0
  1. import json
  2. import pickle
  3. import msgpack
  4.  
  5. TEST_REDIS = False
  6.  
  7. if TEST_REDIS:
  8. import redis
  9. rconn = redis.StrictRedis()
  10. dataset = [(('key:%d' % i), {'a': 1, 'b': list(range(100)), 'c': ('z' * 25)}) for i in range(1000000)]
  11.  
  12. def test_redis(serialize):
  13. if not TEST_REDIS:
  14. return
  15. rconn.flushall()
  16. for k, v in dataset:
  17. rconn.set(k, serialize(v))
  18. size = int(rconn.info()['used_memory'])
  19. print('%.2f MB' % (size / 1024 / 1024))
  20.  
  21. data1 = [1, 2, True, False, 'abcd']
  22. data2 = dict((i, str(i) * 10) for i in range(20000))
  23.  
  24.  
  25. print('pickle')
  26. get_ipython().magic('timeit s = pickle.dumps(data1, protocol=-1); pickle.loads(s)')
  27. get_ipython().magic('timeit s = pickle.dumps(data2, protocol=-1); pickle.loads(s)')
  28. test_redis(pickle.dumps)
  29. print('json')
  30. get_ipython().magic('timeit s = json.dumps(data1); json.loads(s)')
  31. get_ipython().magic('timeit s = json.dumps(data2); json.loads(s)')
  32. test_redis(json.dumps)
  33. print('msgpack')
  34. get_ipython().magic('timeit s = msgpack.packb(data1); msgpack.unpackb(s)')
  35. get_ipython().magic('timeit s = msgpack.packb(data2); msgpack.unpackb(s)')
  36. test_redis(msgpack.dumps)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement