3 ms·
Python 2.7 on Ubuntu: $ python -mtimeit -s "from json import dumps; d = { 'foo': 'bar', 'food': 'barf', 'good': 'bars', 'dood': 'w
by d0mine 16y ago
Python 2.7 on Ubuntu:
$ python -mtimeit -s "from json import dumps;
d = {
'foo': 'bar',
'food': 'barf',
'good': 'bars',
'dood': 'wheres your car?',
'wheres your car': 'dude?',
}
" "dumps(d)"
100000 loops, best of 3: 6.89 usec per loop
$ python -mtimeit -s "from cPickle import dumps;
d = {
'foo': 'bar',
'food': 'barf',
'good': 'bars',
'dood': 'wheres your car?',
'wheres your car': 'dude?',
}
" "dumps(d)"
100000 loops, best of 3: 7.78 usec per loop
So `json` seems faster than `cPickle`. Right? Wrong!:
$ python -mtimeit -s "from cPickle import dumps;
d = {
'foo': 'bar',
'food': 'barf',
'good': 'bars',
'dood': 'wheres your car?',
'wheres your car': 'dude?',
}
" "dumps(d, -1)"
100000 loops, best of 3: 3.59 usec per loop
- trafficlight 16y agoWhat does the "-1" dump argument mean in 3rd example?
- kingkilr 16y agoIt says to use the highest optimization level.
- d0mine 16y agoNo. It says use the highest available protocol. The highest available protocol is not necessarily the fastest. There might be other than pure speed reasons to introduce the next Pickle protocol.
- thezilch 16y agoThe equivalent of using pickle.HIGHEST_PROTOCOL or pickle.dumps(obj, protocol=pickle.HIGHEST_PROTOCOL) -- any negative value will force highest protocol.