开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 10591|回复: 54
收起左侧

[易源码分享] 自己做的json模块速度及多线程测试源码,对比11种json模块的速度和多线程支持情况

[复制链接]
结帖率:80% (4/5)
发表于 2019-2-21 04:44:49 | 显示全部楼层 |阅读模式   山东省潍坊市
分享源码
界面截图: -
是否带模块: 调用了模块
备注说明: -
本帖最后由 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://bbs.125.la/forum.php?mod=viewthread&tid=14212799
5.zyjson 我找的最新版2.5的 http://www.eyuyan.la/post/13045.html
6.赤虹 赤虹JSON模块 v1.0  麻雀虽小, 五脏俱全
http://bbs.125.la/forum.php?mod=viewthread&tid=13947811
7.水淼json 1.0 http://bbs.eyuyan.com/read.php?tid=381328
8.烁 易语言研究Json,烁_Json2.0模块发布
http://bbs.125.la/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)  模块中带着的,应该有一定代表性吧?
三。测试结果
介绍程序流程是这样的
04.png
前面在线程中调用各json模块进行解析,输出解析完的时间(毫秒)和是否解析成功(逻辑)。
03.png
后面在线程中调用(子程序1),输出所有json模块解析后的成员数,如果是0是没解析成功。


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

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

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

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

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

第2步:json-.txt
01.png
在上面剩下的6个模块中选,

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

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


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

最后暂时选择了zyjson模块。

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

点评

有关哈希表之类的东西看效果不是这样看的哦   湖南省长沙市  发表于 2019-2-22 02:39
编译后测试看看,我以前试过e2ee最快,精易第二   广东省广州市  发表于 2019-2-21 21:45
zyjson编译后你再试试速度?   江苏省苏州市  发表于 2019-2-21 17:36
骚年,编译后和调试状态下的速度是差N倍的   湖南省长沙市  发表于 2019-2-21 07:53

评分

参与人数 5好评 +4 精币 +4 收起 理由
wyd134 + 1 + 1 感谢分享,很给力!~
shizhong0117 + 1 支持开源~!感谢分享
凌哥 + 1 + 2 精彩文章希望继续努力
kyo9766 + 1 支持开源~!感谢分享
毛超 + 1 此处应该有鼓励~

查看全部评分


结帖率:0% (0/1)
发表于 2022-11-14 16:28:22 | 显示全部楼层   广东省广州市
正好需要  可以看看
回复 支持 反对

使用道具 举报

结帖率:80% (4/5)

签到天数: 2 天

 楼主| 发表于 2022-8-26 18:25:24 | 显示全部楼层   山东省潍坊市
rentingxuan 发表于 2022-8-26 15:20
你们都是用什么软件解压的

解压缩请使用好压。别的软件不保证能到解压缩成功
回复 支持 反对

使用道具 举报

发表于 2022-8-26 15:21:16 | 显示全部楼层   山东省日照市
回复 支持 反对

使用道具 举报

发表于 2022-8-26 15:20:55 | 显示全部楼层   山东省日照市
你们都是用什么软件解压的
回复 支持 反对

使用道具 举报

发表于 2022-8-26 15:20:42 | 显示全部楼层   山东省日照市
好压也不行呀
回复 支持 反对

使用道具 举报

发表于 2022-8-26 15:20:08 | 显示全部楼层   山东省日照市

解压不了呀
回复 支持 反对

使用道具 举报

结帖率:80% (4/5)

签到天数: 2 天

 楼主| 发表于 2022-5-7 20:41:37 | 显示全部楼层   山东省潍坊市
jingyi11023995 发表于 2020-6-14 16:24
不只我一个人说有问题的,你看看回复,算了,不打算安装好压,2345这些

好压的解压比较特殊,不是你发的那个网站的软件能支持的。
回复 支持 反对

使用道具 举报

发表于 2022-5-5 19:37:59 | 显示全部楼层   上海市上海市
66666666666666666666666
回复 支持 反对

使用道具 举报

签到天数: 22 天

发表于 2021-3-3 11:29:31 | 显示全部楼层   浙江省绍兴市
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表