我正在使用jsonPython 2.6中的模块加载和解码JSON文件。但是,我现在的速度比预期的要慢。我正在使用一个6MB大小的测试用例,json.loads()需要20秒。
json
json.loads()
我以为json模块有一些本地代码来加快解码速度?
如何检查是否正在使用?
作为比较,我下载并安装了该python-cjson模块,cjson.decode()对于同一测试用例,则花费了1秒。
python-cjson
cjson.decode()
我宁愿使用Python 2.6随附的JSON模块,这样我的代码用户就不需要安装其他模块。
(我正在Mac OS X上进行开发,但在Windows XP上却得到了类似的结果。)
它可能因平台而异,但是内置的json模块基于simplejson,不包括C加速。无论如何,我发现simplejson与python- cjson一样快,因此我更喜欢它,因为它显然具有与内置相同的接口。
try: import simplejson as json except ImportError: import json
在我看来,这是一段时间以来最好的习惯用法,在兼容向前转发的同时提供性能。