$ 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
$ 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
The highest available protocol is not necessarily the fastest. There might be other than pure speed reasons to introduce the next Pickle protocol.