写一个最快的 JSON Library

2020-10-21 11:41:39 +08:00
 ibireme

之前也写过一些 JSON 解析,但感觉这类东西到处都有也没太大价值。 去年出现了 simdjson,使用 AVX2 和 NEON 来解析 JSON,号称是第一个达到 GB/s 的 JSON 解析库。 于是我就好奇在不使用 SIMD 的情况下 JSON 解析性能究竟能达到什么程度。

这个是我空闲时写的库,C89 、跨平台,对 JSON 可读可写,符合 RFC 标准: https://github.com/ibireme/yyjson

至于性能,在新一些的 x64 上通常比 simdjson 快一点,在旧 x64 和 arm64 上比 simdjson 快很多, 可以吹一下这是目前为止最快的 JSON Library 了,大家可以先猜猜看为什么这么快~

11087 次点击
所在节点    C
71 条回复
andyhuzhill
2020-10-22 18:05:50 +08:00
@ibireme #54 话说 msvc 跳过 c99 开始支持 c11 和 c17 了
nonduality
2020-10-22 20:46:55 +08:00
@KeyboardManAnAn yyjson 是 ANSI C 写的,可移植性强,能适应全平台、多语言,期待 yyjson 站到相当于 sqlite 的地位。前些天大牛 Agentzh 也说写了一个极其高效的 json 库,可惜目前不开源。

另,继续期待尽早支持 python,因为 rapidjson 是 rust 写的(编译不方便),ultrajson 不支持 musl 库(在 Alpine Linux 用起来别扭) @ibireme
onevcat
2020-10-22 21:08:08 +08:00
给大佬递茶🍵
exceldream
2020-10-22 21:11:33 +08:00
为什么不叫 rocket json
Guaidaodl
2020-10-22 21:14:12 +08:00
给大佬跪下了.
KeyboardManAnAn
2020-10-23 08:01:42 +08:00
@onevcat 大佬给大佬递茶🍵🍵🍵
erpapa
2020-10-26 19:40:25 +08:00
给大佬递茶🍵
nonduality
2020-10-28 12:07:30 +08:00
对了,以你的 C 代码功力,章亦春很可能会要你,记得他创办的公司允许远程工作,兴许你可以看下他现在招不招人 github.com/agentzh weibo.com/agentzh
DinoStray
2021-01-07 17:54:09 +08:00
研究了一下, 觉得不敢用, 个人能力问题, 源码理解实在困难. 而且 C 的 API, 用在 CPP 还是太别扭了.
sunblackshine
2021-06-11 10:58:20 +08:00
我就一个问题,yy 是啥缩写
Erwinan
2021-09-09 15:54:09 +08:00
给大佬递茶🍵

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

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

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

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

© 2021 V2EX