28 个 C/C++ 开源 JSON 程序库性能及标准符合程度评测

简介:

坊间有非常多的 C/C++ JSON 库,怎么选择是一个难题。

nativejson-benchmark应该是史上第一个评测了28个C/C++开源JSON程序库的开源项目,它评测了每个库是否符合 JSON 标准 (RFC7159, ECMA-404),并且在性能上测试了各个操作(如解析、生成)的耗时、内存用量等数据,甚至可执行文件的大小也有统计。

这个项目也希望能够通过互相学习借镜,提升现时或未来的 JSON 程序库品质。

由于每个评测也不能完全覆盖所有数据及软硬件组合,建议使用者可自行在所需的平台和数据下进行测试。

以下是 iMac (Corei5-3330S@2.70GHz) 及clang 6.1_1 64-bit下的部分结果,详情可访问这里。

符合标准程度(越高越好):


4277d56ff5021ee4f091043df5fc15782501454f

解析至DOM的时间(越低越好):


8bb30e8b0c43a160664dd4f7e5b77ba0251a2181

解析至DOM后的内存(越低越好):

<a href=https://yqfile.alicdn.com/8bb30e8b0c43a160664dd4f7e5b77ba0251a2181.png
" >

把DOM生成JSON的时间(越低越好):

把DOM生成含换行及缩进的JSON的时间(越低越好):


<a href=https://yqfile.alicdn.com/1761a1e7f1ac1b27b9dbf0b7cd7fc41953935176.png
" >

可执行文件(把JSON解析至DOM,然后统计JSON类型)的大小(越低越好):


<a href=https://yqfile.alicdn.com/690cba0f980c4a5b591f004d04f5c5146928c2ed.png" >

文章转载自 开源中国社区 [ http://www.oschina.net]
相关文章
|
C++
C++ 根据程序运行的时间和cpu频率来计算在另外的cpu上运行所花的时间
C++ 根据程序运行的时间和cpu频率来计算在另外的cpu上运行所花的时间
292 0
|
JSON 人工智能 数据可视化
实用工具推荐第二期结合deepseek的思维导图开源免费工具 JSON 可视化工具
JSON 数据可视化为交互式的树形图或图形,帮助直观理解文件结构和模块之间的联系。
1570 19
|
人工智能 JSON 搜索推荐
猫步简历 - 开源免费AI简历生成器 | 一键导出PDF/JSON
猫步简历是一款免费开源的AI简历生成器,帮助用户轻松创建独特、专业的简历。支持导出超高清PDF、图片、JSON等多种格式,并提供AI智能创作、润色和多语种切换等功能。拥有海量模板、高度定制化模块及完善的后台管理系统,助力求职者脱颖而出。官网:https://maobucv.com,GitHub开源地址:https://github.com/Hacker233/resume-design。
4387 10
|
存储 程序员 编译器
简述 C、C++程序编译的内存分配情况
在C和C++程序编译过程中,内存被划分为几个区域进行分配:代码区存储常量和执行指令;全局/静态变量区存放全局变量及静态变量;栈区管理函数参数、局部变量等;堆区则用于动态分配内存,由程序员控制释放,共同支撑着程序运行时的数据存储与处理需求。
855 22
|
JSON JavaScript Java
在Java中处理JSON数据:Jackson与Gson库比较
本文介绍了JSON数据交换格式及其在Java中的应用,重点探讨了两个强大的JSON处理库——Jackson和Gson。文章详细讲解了Jackson库的核心功能,包括数据绑定、流式API和树模型,并通过示例演示了如何使用Jackson进行JSON解析和生成。最后,作者分享了一些实用的代码片段和使用技巧,帮助读者更好地理解和应用这些工具。
947 0
在Java中处理JSON数据:Jackson与Gson库比较
|
C++
【C++基础】程序流程结构详解
这篇文章详细介绍了C++中程序流程的三种基本结构:顺序结构、选择结构和循环结构,包括if语句、三目运算符、switch语句、while循环、do…while循环、for循环以及跳转语句break、continue和goto的使用和示例。
531 2
|
PHP C++ Python
右手坐标系,空间点绕轴旋转公式&程序(Python和C++程序)
右手坐标系,空间点绕轴旋转公式&程序(Python和C++程序)
1144 0
|
存储 JSON 测试技术
Python中最值得学习的第三方JSON库
Python中最值得学习的第三方JSON库
683 0
|
C++
c++学习笔记03 程序流程结构
C++学习笔记,主要介绍了程序流程结构,包括顺序结构、选择结构和循环结构。选择结构中详细解释了if语句、三目运算符和switch语句的用法和注意事项。循环结构部分则涵盖了while循环、do-while循环和for循环的语法和使用技巧。此外,还介绍了跳转语句,包括break、continue和goto语句的用途和用法。
268 0

热门文章

最新文章