Python 哪个 json 库反序列化最快?

2020-12-28 20:40:15 +08:00
 zhoudaiyu

测了一下 ujson 比自带 json 快了不少,但是还是满足不了接口速度的要求,有没有更快一点的库?只考虑反序列化

4485 次点击
所在节点    Python
15 条回复
codebigbang
2020-12-28 20:45:10 +08:00
场景是否支持先把数据切块?
zhoudaiyu
2020-12-28 20:55:44 +08:00
@codebigbang 切片么就是
NBNPC
2020-12-28 21:03:15 +08:00
VYSE
2020-12-28 21:03:43 +08:00
只考虑反序列化: msgpack
ClericPy
2020-12-28 21:03:57 +08:00
cjson ojson

不过有一些 by design 的坑自己得注意点... 记得还有个更快的, 但是不流行就懒得去搜了, 感兴趣可以随便搜搜 fastest python json
ClericPy
2020-12-28 21:04:24 +08:00
打错.. orjson...
gainsurier
2020-12-28 23:05:10 +08:00
考虑绝对性能的话,可以试试 simdjson 和 rapidjson 或者 yyjsonde c 接口封装。
abersheeran
2020-12-28 23:14:14 +08:00
讨论出结果了麻烦敲我一下,刚好也需要用到有性能需求的 JSON 模块。
so1n
2020-12-29 00:31:18 +08:00
目前只有 python 在用的话我是用 orjson 如果双端可以一起改的 则用 msgpack
yingbo
2020-12-29 05:36:51 +08:00
用过 ujson,比标准库的快很多。楼上提到的别的没用过。
shuax
2020-12-29 08:53:16 +08:00
只用 ujson 替换过内置的
nonduality
2020-12-29 12:22:53 +08:00
我也需要高速 JSon 模块,但在 Alpine Linux 下,因 orjson 是 rust 写的不方便编译,ujson 不能用 musl 库。

不知有哪位高人能把 yyjson 封装成 python 模块,yyjson 是用 ansi C 写的,理论上能适应 Alpine Linux
icyalala
2020-12-29 14:03:34 +08:00
Arthur2e5
2020-12-29 17:31:59 +08:00
> @nonduality ujson 不能用 musl 库。

不该啊,这群人三年前不是还修过一个 alpine 崩溃的 bug ?
https://github.com/ultrajson/ultrajson/pull/281

有问题再开一个就是了。
nonduality
2021-01-01 12:01:05 +08:00
@icyalala Good! 多谢!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/739763

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX