一尘不染

Python 2.6 JSON解码性能

json

我正在使用jsonPython
2.6中的模块加载和解码JSON文件。但是,我现在的速度比预期的要慢。我正在使用一个6MB大小的测试用例,json.loads()需要20秒。

我以为json模块有一些本地代码来加快解码速度?

如何检查是否正在使用?

作为比较,我下载并安装了该python-cjson模块,cjson.decode()对于同一测试用例,则花费了1秒。

我宁愿使用Python 2.6随附的JSON模块,这样我的代码用户就不需要安装其他模块。

(我正在Mac OS X上进行开发,但在Windows XP上却得到了类似的结果。)


阅读 244

收藏
2020-07-27

共1个答案

一尘不染

它可能因平台而异,但是内置的json模块基于simplejson,不包括C加速。无论如何,我发现simplejson与python-
cjson一样快,因此我更喜欢它,因为它显然具有与内置相同的接口。

try:
    import simplejson as json
except ImportError:
    import json

在我看来,这是一段时间以来最好的习惯用法,在兼容向前转发的同时提供性能。

2020-07-27