精易论坛

标题: 自己做的json模块速度及多线程测试源码,对比11种json模块的速度和多线程支持情况 [打印本页]

作者: bianyuan456    时间: 2019-2-21 04:44
标题: 自己做的json模块速度及多线程测试源码,对比11种json模块的速度和多线程支持情况
本帖最后由 bianyuan456 于 2019-2-21 05:02 编辑

觉得大家应该会遇到所以就整理发出来!应该对某些初学者做项目有用!

再做一个酷Q插件项目,搜了论坛能搜到的json模块,实用场景是在多线程中调用json并且最好能json设置为全局或者程序集变量(精易的类json是对象实现的所以不能全局、设置为局部变量每次还得初始化太麻烦了所以做了这个评测想找个好用的json模块)
不只是单纯的比速度,还比能不能适合多线程的场景(精易的类json改改也能多线程调用但是每次都得初始化麻烦,就把精易的类json看做不支持多线程的)。
一。各模块介绍
1.精易模块7.0自带的类_json,下载链接自己从论坛找吧。
2.ehash&ejson 勤奋的欧尼酱修改版 ,来源不可考,这份测试源码也是在这个模块附带的例程里面改的,百度搜ehash&ejson能搜到下载链接;
3.JimStone(谢栋) - JSON模块 我找了 最新版2.3,http://bbs.eyuyan.com/read.php?tid=401398
4.json解析模块2.1         json解析模块【2.1】的使用方法附例子
http://125.confly.eu.org/forum.php?mod=viewthread&tid=14212799
5.zyjson 我找的最新版2.5的 http://www.eyuyan.la/post/13045.html
6.赤虹 赤虹JSON模块 v1.0  麻雀虽小, 五脏俱全
http://125.confly.eu.org/forum.php?mod=viewthread&tid=13947811
7.水淼json 1.0 http://bbs.eyuyan.com/read.php?tid=381328
8.烁 易语言研究Json,烁_Json2.0模块发布
http://125.confly.eu.org/forum.php?mod=viewthread&tid=13963127
9.彗星http操作支持库1.6 的彗星json类(非模块)   http://www.sanye.cx/?id=115
10.E2EE互联网服务器套件1.9.2 的存取列表类  (非模块) http://e2ee.jimstone.com.cn/downloads/
11.Coxxs做的json操作 模块1.63 ,这个无下载地址,在酷Q开发群的群文件中的(本来就是找个合适开发酷Q插件用到json模块,酷Q作者自己做的json模块肯定要评测的),也有源码最后会把以上11个一并打包放出来
二。测试用例介绍
我选的测试用例可能不具代表性,也懒得去找了
一号样本:json.txt(855KB)为我项目中用到的一个*F淦鞯膉son,算是我做项目遇到的最大的json了!
二号样本:json-.txt(371KB)为 ehash&ejson 勤奋的欧尼酱修改版 (自称EJSON)  模块中带着的,应该有一定代表性吧?
三。测试结果
介绍程序流程是这样的

前面在线程中调用各json模块进行解析,输出解析完的时间(毫秒)和是否解析成功(逻辑)。

后面在线程中调用(子程序1),输出所有json模块解析后的成员数,如果是0是没解析成功。


第0步.水淼 单线程测试时对某json(这两个文本之一,忘了记录是哪个了)识别不了或者时间非常多,淘汰
第1步.json.txt


赤虹(返回假)、烁成员数为0)多线程识别不了,淘汰

精易多线程无法保存对象(成员数为0),需要重复初始化,淘汰

coxxs的太过于简陋, 没有获取成员数的方法,淘汰

时间快的有彗星,E2EE,  慢的有EJson zyjson json解析模块 谢栋

第2步:json-.txt

在上面剩下的6个模块中选,

E2EE        未能识别,淘汰
彗星        识别了无法保存或者无法识别?(成员数为0)淘汰
谢栋        识别了无法保存或者无法识别?(成员数为0)淘汰

时间快的有EJson, 慢的有zyjson,json解析模块


EJson的相关文档较少(方法还是英文的。。),如果遇到对json比较大、时间要求快的项目可以优先考虑。而zyjson模块用的多,有解析工具,方便写软件。。
YZYZ-JSON解析工具 V1.1版
http://125.confly.eu.org/forum.php?mod=viewthread&tid=14274938

最后暂时选择了zyjson模块。

---
ps本评测不是科学研究,可能不是很严禁,选的用例可能不是有代表性,没有黑 其他模块的意思。附件用好压压缩的。
新建文件夹.haozip01.7z (2.9 MB, 下载次数: 306) 新建文件夹.haozip02.7z (1.8 MB, 下载次数: 228)










补充内容 (2021-1-21 12:16):
解压缩请使用好压。别的软件不保证能到解压缩成功
作者: a2216540    时间: 2019-2-21 05:24
你可以看看zyJson的源码,写的真的好
作者: 金哥专用    时间: 2019-2-21 09:36
很好。。。
作者: 毛超    时间: 2019-2-21 11:15
感谢测试!!!!!!!!!!!!
作者: 晓天信    时间: 2019-2-21 11:24
a2216540 发表于 2019-2-21 05:24
你可以看看zyJson的源码,写的真的好

看了这源码, 真的漂亮,全英文没一句注释。
作者: 逸二酱    时间: 2019-2-21 11:25
此处应该有鼓励~
作者: 咱得有自己独特    时间: 2019-2-21 11:30
要编译后再测试。。
作者: kid791    时间: 2019-2-21 11:59
稍稍微微的看一下。
作者: 情殇QAQ    时间: 2019-2-21 12:15
感谢分享!
作者: weihua2018    时间: 2019-2-21 12:34
楼主能不能把那些json模块的最新版本分享一波啊
作者: weihua2018    时间: 2019-2-21 12:36
最主要还是zy靠谱一些毕竟完全开源的哦
作者: 玖龄后梦劭    时间: 2019-2-21 15:06
编译输出文本试一下

作者: kyo9766    时间: 2019-2-21 15:20
下载 学习 学习 ,感谢分享
作者: 浩蛋    时间: 2019-2-21 16:08
支持一波再说
作者: 轻风影    时间: 2019-2-21 21:06
一直都是在用zyjson模块,开源还好用。还支持Unicode
作者: sampo    时间: 2019-2-21 21:34
感谢楼主分享
作者: 15191318454    时间: 2019-2-21 22:07
精易的类json是对象实现的所以不能全局             楼主能解释下为什么对象类 不能全局啊
作者: bianyuan456    时间: 2019-2-21 22:29
15191318454 发表于 2019-2-21 22:07
精易的类json是对象实现的所以不能全局             楼主能解释下为什么对象类 不能全局啊

我不知道,我在论坛搜出的这个结论。你可以自己试试。能全局的,只是如果把精易类json设置为程序集或者全局变量,那么不能再多线程中调用,调用了会为空的!不信你自己试试!要是精易类json的多线程中能用,那么我把我的项目移植到酷Q就不用重新选个json模块了!也就没有这个评测贴了!
作者: bianyuan456    时间: 2019-2-21 22:29
weihua2018 发表于 2019-2-21 12:34
楼主能不能把那些json模块的最新版本分享一波啊

就是最新版,自己下载附件就好
作者: bianyuan456    时间: 2019-2-21 22:30
weihua2018 发表于 2019-2-21 12:36
最主要还是zy靠谱一些毕竟完全开源的哦

这几个模块除了支持库基本都是开源的,源码在附件,我只关心速度和多线程能不能用
作者: 神话传说001    时间: 2019-2-22 11:21
支持开源,感谢分享
作者: weihua2018    时间: 2019-2-23 06:46
bianyuan456 发表于 2019-2-21 22:30
这几个模块除了支持库基本都是开源的,源码在附件,我只关心速度和多线程能不能用

楼主你发的第一个文件错误损坏的啊解压不了啊
作者: freexx    时间: 2019-2-23 08:44
好压貌似挺流氓的,以前用过
作者: bianyuan456    时间: 2019-2-23 18:09
weihua2018 发表于 2019-2-23 06:46
楼主你发的第一个文件错误损坏的啊解压不了啊

两个一起下载,一起解压缩,论坛限制文件大小,需要分卷解压缩!!!
作者: mengshneg    时间: 2019-3-1 11:59
感谢楼主分享
作者: chinaxxy    时间: 2019-5-1 04:49
新建文件夹.haozip01.7z 已损坏,无法解压
作者: jingyi11023995    时间: 2019-9-19 01:08
其中一个压缩包有错误,请测试一下。
我用winrar和 7-zip都提示错误。
作者: jingyi11023995    时间: 2019-9-19 16:28
jingyi11023995 发表于 2019-9-19 01:08
其中一个压缩包有错误,请测试一下。
我用winrar和 7-zip都提示错误。

必须用好压吗?能不能重新上传,不想安装好压。
作者: xzc08218    时间: 2019-10-1 21:43
支持谢谢分享
作者: weihua2018    时间: 2019-11-12 19:44
为什么打不开啊 错误啊
作者: jingyi11023995    时间: 2020-6-10 18:07
jingyi11023995 发表于 2019-9-19 01:08
其中一个压缩包有错误,请测试一下。
我用winrar和 7-zip都提示错误。

确实有问题,你自己下载测试吧。
新建文件夹.haozip01.7z这个有问题。
新建文件夹.haozip02.7z这个没问题。
作者: jingyi11023995    时间: 2020-6-10 18:21
刚刚从https://www.7-zip.org/下载了解压软件,确定你提供的压缩包是有问题的!
作者: jingyi11023995    时间: 2020-6-14 16:24
jingyi11023995 发表于 2020-6-10 18:21
刚刚从https://www.7-zip.org/下载了解压软件,确定你提供的压缩包是有问题的!

不只我一个人说有问题的,你看看回复,算了,不打算安装好压,2345这些
作者: yinhezeyu    时间: 2020-12-18 07:17
俩都下载了,确实无法解压
作者: dokuro    时间: 2020-12-20 17:18
感谢楼主了
作者: zhangzhengbb    时间: 2021-1-21 11:37

作者: waltz520    时间: 2021-3-2 17:56
666666666666666
作者: 凉忆亦凉心    时间: 2021-3-3 11:29

作者: liunix    时间: 2022-5-5 19:37
66666666666666666666666
作者: bianyuan456    时间: 2022-5-7 20:41
jingyi11023995 发表于 2020-6-14 16:24
不只我一个人说有问题的,你看看回复,算了,不打算安装好压,2345这些

好压的解压比较特殊,不是你发的那个网站的软件能支持的。
作者: rentingxuan    时间: 2022-8-26 15:20

解压不了呀
作者: rentingxuan    时间: 2022-8-26 15:20
好压也不行呀
作者: rentingxuan    时间: 2022-8-26 15:20
你们都是用什么软件解压的
作者: rentingxuan    时间: 2022-8-26 15:21

作者: bianyuan456    时间: 2022-8-26 18:25
rentingxuan 发表于 2022-8-26 15:20
你们都是用什么软件解压的

解压缩请使用好压。别的软件不保证能到解压缩成功
作者: caimai    时间: 2022-11-14 16:28
正好需要  可以看看




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4