写点什么

Groovy 2.3 使用快得多的 JSON 解析器

  • 2014-05-05
  • 本文字数:1055 字

    阅读完需:约 3 分钟

Ubiquitous 公司的顾问和创始人 Rick Hightower 透露 Groovy 2.3 将会提供一个最快的 JVM JSON 解析器。在文章 JSON 序列化基准中 Hightower 宣称 Groovy 的 JSON 支持和 Boon JSON 解析器在解析字符串和字符数组的时候比现在的 Jackson 解析器快 3 到 5 倍。

俄国开发者 Andrey Bloschetsov 创建了一个 json 基准 GitHub 项目,目的是对所有流行的 JVM JSON 解析器进行基准测试并比较。该项目对 Jackson Gson Boon Groovy 2.3 的性能做了比较。

为了测试每一个解析器,该项目选择了很多不同结构的数据:

  • Citys——一个简单对象的大数组(有 29470 个条目)。紧凑的 json 表示文件大约有 2.5MB。
  • repos.json——一个包含 4 个复杂结构对象的数组。紧凑的 json 表示文件大约 342.8KB。
  • user.json——包含一个复杂结构的对象。紧凑的 json 表示文件大约 4.2KB。
  • response.json——包含一个简单结构的对象。紧凑的 json 表示文件大约 425B。

序列化功能使用了下面两个变体测试:

  • pojo——对象被表示为 POJO 对象。
  • Maplist——对象被表示为 Map。

反序列化仅使用了一个单独的转换用例进行测试:将 String 转化成 Map。

测试的结果是 Boon 表现最好,Groovy 2.3 次之,Jackson 第三,Gson 表现最差。

为了了解这个结果对 Groovy 意味着什么,InfoQ 采访了 Pivotal 公司的 Groovy 项目经理 Guillaume Laforge

InfoQ**:是什么原因让你决定分支Boon并在Groovy 2.3中使用它?**

我一直在跟随 Rick Hightower 在 Boon 框架上的工作,我对他的 JSON 解析技术所表现出来的速度有非常深刻的印象。因此我联系了他,询问他是否可以将这个解析技术改造到我们已有的、数年之前为 Groovy 开发的 JSON 支持中。Rick 非常友好地提供了帮助,分支 Boon 并让它作为我们 JSON 解析器的基础解析技术。同时他的基准发布的结果也让人印象非常深刻。

InfoQ**:Groovy 2.3中的JSON解析器比之前版本中的解析器快多少?**

很显然,这与你处理的 JSON 负载类型、采用什么标准衡量等方面息息相关,但是根据我从基准收集来的数据看,你可以认为 Groovy 的 JSON 解析(因此 Rick 的 Boon 解析器也是如此)比现在可用的其他 JSON 类库至少要快 3 到 4 倍。

InfoQ**:Grails用户什么时候才能使用Groovy 2.3?**

我们的计划是在一星期左右的时间之内发布 Groovy 2.3,这样打算在 5 月中旬发布的 Grails 2.4 就能集成 Groovy 2.3 了。本周发布的 Grails 2.4 的第二个里程碑实际上已经包含了 Groovy 2.3-beta-2。因此 Grails 用户应该在几周之内就能使用 Groovy 2.3。

查看英文原文 Groovy 2.3 gets a much faster JSON Parser

2014-05-05 02:364241
用户头像

发布了 321 篇内容, 共 133.9 次阅读, 收获喜欢 19 次。

关注

评论

发布
暂无评论
发现更多内容

MSVC编译动态库

Loken

音视频 5月月更

MixNet解析以及pytorch源码

AI浩

人工智能 6月月更

leetcode 547. Number of Provinces 省份数量(中等)

okokabcd

LeetCode 搜索

ObserverPattern-观察者模式

梁歪歪 ♚

设计模式

Agora Web UIKit:快速构建视频通话或直播

devpoint

React 直播技术 视频通话

科技成就伟大游戏 | 2022 亚马逊云科技游戏开发者大会

亚马逊云科技 (Amazon Web Services)

开发者 亚马逊云

常遇到读多写少,教你用ReadWriteLock实现一个通用的缓存中心

华为云开发者联盟

缓存 高并发 开发 ReadWriteLock

InfoQ 极客传媒 15 周年庆征文|深入理解 ELK 中 Logstash 的底层原理 + 填坑指南

悟空聊架构

运维 Logstash ELK 6月月更 InfoQ极客传媒15周年庆

【愚公系列】2022年06月 二十三种设计模式(十九)-观察者模式(Observer Pattern)

愚公搬代码

6月月更

儿童节,和 AI 一起通关 “超级马里奥兄弟”

华为云开发者联盟

换个角度带你学C语言的基本数据类型

华为云开发者联盟

开发 C语言 数据类型位数

云图说丨应用宕机怎么办?MAS帮您实现业务无缝切换

华为云开发者联盟

云计算 MAS 宕机 多云高可用服务

对不起,我错了,这代码不好写

捉虫大师

Java Go sentinel 6月月更

彰显个性│博客园的自定义主题

主题 可视化看板 6月月更

特别的儿童节,OceanBase 送上一份特别的惊喜

OceanBase 数据库

oceanbase

字节跳动一站式数据治理解决方案及平台架构

字节跳动数据平台

数据治理 元数据

在线数字转成人民币大写

入门小站

工具

安势信息加入Linux基金会OpenChain项目,助力软件供应链安全

安势信息

Linux 开源 DevSecOps SCA 开源软件

2022 核心服务动手训练营

亚马逊云科技 (Amazon Web Services)

Amazon 亚马逊云

linux之同时监控多个日志文件变化

入门小站

Linux

天猫精灵的自定义语音技能创建流程

汪子熙

人工智能 机器学习 机器人 机器人流程自动化 6月月更

Django API 开发:Todo 应用的 React 前端

宇宙之一粟

django React API 6月月更

深入剖析 | HeartBeat方案的标准设计

九叔(高翔龙)

架构 dubbo 源码解析 HeartBeat 心跳设计

对话ACE第三期:数据库技术生态应如何构建

OceanBase 数据库

oceanbase

TemplateMethodPattern-模板方法模式

梁歪歪 ♚

设计模式

ConcurrentLinkedQueue

急需上岸的小谢

6月月更

在线HTML转PERL工具

入门小站

工具

应用实践|Lifewit 数据平台基于Apache Doris的建设实践

SelectDB

数据库 数据仓库 apache doris SelectDB

StrategyPattern-策略模式

梁歪歪 ♚

设计模式

磁盘I/O性能测试工具

穿过生命散发芬芳

6月月更 磁盘测试工具

Groovy 2.3使用快得多的JSON解析器_JVM_Matt Raible_InfoQ精选文章