Skip to content

Instantly share code, notes, and snippets.

@j2labs
Created April 1, 2011 17:10
Show Gist options
  • Save j2labs/898488 to your computer and use it in GitHub Desktop.
Save j2labs/898488 to your computer and use it in GitHub Desktop.
JSON vs cPickle in Python 2.7
#!/usr/bin/env python
# Average runs looks like this:
# $ ./serialization.py
# Starting json...
# done: 5.75292301178
# Starting simplejson...
# done: 6.66689586639
# Starting cjson...
# done: 2.09307098389
# Starting pickle...
# done: 6.19903492928
import time
import cPickle as pickle
import simplejson
import json
import cjson
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.dumps(d)
print 'done:', time.time() - start
print 'Starting simplejson...'
start = time.time()
for i in xrange(1000000):
simplejson.dumps(d)
print 'done:', time.time() - start
print 'Starting cjson...'
start = time.time()
for i in xrange(1000000):
cjson.encode(d)
print 'done:', time.time() - start
print 'Starting pickle...'
start = time.time()
for i in xrange(1000000):
pickle.dumps(d)
print 'done:', time.time() - start
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment