json vs. simplejson
Ned Deily
nad at acm.org
Wed May 13 13:53:30 EDT 2009
In article <76vs9tF1f6c58U1 at mid.individual.net>,
Thomas Heller <theller at python.net> wrote:
> Diez B. Roggisch schrieb:
> > Thomas Heller wrote:
> >> Python 2.6 contains the json module, which I thought was the renamed (and
> >> improved?) simplejson module that also works on older Python versions.
> >>
> >> However, it seems the json is a lot slower than simplejson.
> >> This little test, run on Python 2.6.2 and WinXP shows a dramatic
> >> difference:
> >> C:\>py26 -m timeit -s "from json import dumps, loads"
> >> "loads(dumps(range(32)))" 1000 loops, best of 3: 618 usec per loop
> >>
> >> C:\>py26 -m timeit -s "from simplejson import dumps, loads"
> >> "loads(dumps(range(32)))" 10000 loops, best of 3: 31 usec per loop> >>
> >> Does anyone have an explanation for that?
> >
> > Dunno about json, but simplejson comes with an (optional) C-based
> > speedup-module.
> >
> > Maybe this isn't part of the standard distribution?
> json has it's own _json speedup module. And funny, on Linux, json
> WITH _json is still somewhat slower (~10%) than simplejson WITHOUT
> the _speedups module.
According to the svn history in 2.6, the json module was a copy of
simplejson 1.9. The current version of simplejson is 2.0.9 and,
according to its CHANGES.txt, there have been a number of performance
improvements in the various releases since 1.9. Looks like the trunk
(2.7) version of json has been updated to the latest simplejson.
--
Ned Deily,
nad at acm.org
More information about the Python-list
mailing list