Json解析速度问题

一直想测试一下json的解析速度,前些天终于花了一点时间测了一下,在我的破笔记本上,解析一个包含10个元素(各种类型都有)的objectjson1秒钟大概只能解析不到10w次,就算把内存池用到极致也只能解析12.5w次左右,换用自己定义的一种bjson格式,速度快了一些,但也不超过20w次,想想工作量也的确很大,生成一个包含10个子元素的object,需要动态分配最少10次,还要做最少10hashinsert,还有各种格式的转换工作,里面有arrayobject还要额外分配容器并处理子对象,这可都是耗时操作,终于明白了为什么webserver为何一秒钟只能处理几千个请求甚至只能处理几百个请求了,看来要将游戏协议完全用json暂时还是不大可取,从效率上看折中点的做法依然是struct+jsonstruct+string/0string/0…,这些我以前的blog都写过,只是现在找到了效率上的依据,毕竟游戏服务器一秒都是要处理几万数据包的,要是全是json光解析json就把时间耗光了,更不用说去处理其他任务了。

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在选择JSON解析工具时,有几个因素需要考虑。首先,我们需要考虑工具的使用简便性。好的JSON解析工具应该提供简洁明了的API,使得解析JSON数据变得更加容易。另外,工具的文档和示例也应该十分清晰,以帮助我们更好地理解和使用该工具。 其次,我们需要考虑工具的性能。JSON解析速度对于处理大量数据的应用程序至关重要。因此,好的JSON解析工具应该具备高效的解析速度和低内存占用,以提升应用程序的性能。 第三,我们需要考虑工具的可扩展性和灵活性。好的JSON解析工具应该支持各种不同的JSON格式,并提供适应不同需求的配置选项。它还应该提供对于JSON的读写功能,以便于我们进行数据的序列化和反序列化操作。 基于以上考虑,以下是一些常用的JSON解析工具: 1. Jackson:Jackson是一款Java工具包,提供了解析和生成JSON的功能。它具有很好的性能,较低的内存占用和良好的可扩展性。Jackson还支持与XML、YAML等其他数据格式的转换。 2. Gson:Gson是Google开发的一款Java库,用于将Java对象序列化为JSON或将JSON反序列化为Java对象。它易于使用且功能强大,性能也相对较好。 3. Json.NET:Json.NET是一个.NET平台上的JSON框架,支持序列化和反序列化JSON数据。它具有广泛的功能和强大的性能,并且支持在.NET平台上的各种应用程序。 综上所述,以上这些工具都是非常好用的JSON解析工具,具有各自的特点和优势。根据项目需求和个人偏好,你可以选择适合自己的工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值