Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save ggarber/2887387 to your computer and use it in GitHub Desktop.
Save ggarber/2887387 to your computer and use it in GitHub Desktop.
cpython_json_cjson_ujson_pickle (encode+decode)
import time
import cPickle as pickle
import json
import cjson
import ujson
d = {
'foo': 'bar',
'food': 'barf',
'good': 'bars',
'dood': 'wheres your car?',
'wheres your car': 'dude?',
}
print 'Starting json...'
start = time.time()
for i in xrange(1000000):
json.loads(json.dumps(d))
print 'done:', time.time() - start
print 'Starting cjson...'
start = time.time()
for i in xrange(1000000):
cjson.decode(cjson.encode(d))
print 'done:', time.time() - start
print 'Starting ujson...'
start = time.time()
for i in xrange(1000000):
ujson.decode(ujson.encode(d))
print 'done:', time.time() - start
print 'Starting pickle...'
start = time.time()
for i in xrange(1000000):
pickle.loads(pickle.dumps(d))
print 'done:', time.time() - start
'''
# python 2.6.6
Starting json...
done: 122.930308104
Starting cjson...
done: 4.51418590546
Starting ujson...
done: 2.4326839447
Starting pickle...
done: 14.4248509407
'''
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment