说明:
看到aiohttp异步模块,使用有ujson模块,然后就搜了一下,不是内置模块,需要安装。
号称比内置模块json更快。是C语言编写的。
1、学习文档
模块说明:
UltraJSON是一个超快速的JSON编码器和解码器,用纯C编写
,并为Python 3.6+
绑定。
2、安装模块:
python -m pip install ujson
# 或者直接pip安装
pip install ujson
3、使用:
>>> import ujson
>>> ujson.dumps([{"key": "value"}, 81, True])
'[{"key":"value"},81,true]'
>>> ujson.loads("""[{"key": "value"}, 81, true]""")
[{'key': 'value'}, 81, True]
4、测试一下执行效率:
import json
import ujson
import time
def run_time(func):
def inner(*args, **kwargs):
start_time = time.time()
result = func(*args, **kwargs)
stop_time = time.time()
print("用时:", stop_time - start_time)
# print result
return result
return inner
a = {}
for i in range(1, 1000000):
a[i] = 1
@run_time
def json_dumps(obj):
return json.dumps(obj)
@run_time
def ujson_dumps(obj):
return ujson.dumps(obj)
r1 = json_dumps(a)
print("r1",len(r1))
r2 = ujson_dumps(a)
print("r2",len(r2))
# 用时: 0.47142696380615234
# r1 12888882
# 用时: 0.12010860443115234
# r2 10888885
对比结果显示,ujson比json快了将近3倍。