python ujson模块【号称比json更快】

本文介绍了Python的ujson模块,它是一个C编写的JSON编码和解码库,号称比内置的json模块更快。文章详细阐述了如何安装ujson,以及如何使用它进行编码和解码操作。通过执行效率测试,结果显示ujson在处理大量数据时,速度比json快约3倍。
摘要由CSDN通过智能技术生成

说明:

看到aiohttp异步模块,使用有ujson模块,然后就搜了一下,不是内置模块,需要安装。
号称比内置模块json更快。是C语言编写的。

1、学习文档

usjon 模块地址:

ujson GitHub地址

模块说明:
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倍。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhaojiafu666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值