import json
import ujson
import time
def cost_time(func):
def inner(*args, **kwargs):
start_time = time.time()
result = func(*args, **kwargs)
stop_time = time.time()
print('cost_time is:', stop_time - start_time)
return result
return inner
a1 = {}
for i in range(1, 100):
a1[i] = 1
@cost_time
def json_dumps(obj):
return json.dumps(obj)
@cost_time
def ujson_dumps(obj):
return ujson.dumps(obj)
print('少量数据处理结果为:')
r1 = json_dumps(a1)
r2 = ujson_dumps(a1)
a2 = {}
for i in range(1, 10000000):
a2[i] = 1
@cost_time
def json_dumps(obj):
return json.dumps(obj)
@cost_time
def ujson_dumps(obj):
return ujson.dumps(obj)
print('大量数据处理结果为:')
r1 = json_dumps(a2)
r2 = ujson_dumps(a2)
测试环境:Mac OS10.14,python3.7.0,json为内置模块,ujson版本:1.35
执行结果:
少量数据处理结果为:
cost_time is: 6.413459777832031e-05
cost_time is: 3.0994415283203125e-05
大量数据处理结果为:
cost_time is: 6.50045108795166
cost_time is: 1.4982390403747559
在处理建议使用ujson