《HarmonyOS:领航者说》技术公开课来啦,大咖分享、实战解码,不容错过 了解详情
写点什么

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:364005
用户头像

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

关注

评论

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

说说你对Vue的keep-alive的理解

bb_xiaxia1998

Vue

从源码角度看React-Hydrate原理

flyzz177

React

从recat源码角度看setState流程

flyzz177

React

clickhouse在风控-风险洞察领域的探索与实践

京东科技开发者

flink 数据 Clickhouse 风控 风险控制

源码学习之Spring容器创建原理

京东科技开发者

xml spring 源码 容器 测试

一个 SaaS 软件同本地部署 On-Premises 系统集成的实际项目案例分享

汪子熙

微服务 SaaS 系统集成 On-Premises 11月月更

Spring 5(三)AOP

浅辄

Java Spring5 11月月更

【设计模式】原型模式:猴头,我叫你一声你敢答应吗?

游坦之

11月月更

90 条简单实用的 Python 编程技巧,建议收藏

千锋IT教育

什么是Maven

莪是男神

Java maven 11月月更

GaiaX开源解读 | 跨端动态化模板引擎详解,看完你也能写一个

阿里巴巴文娱技术

开源 移动开发 移动端开发

手写现代前端框架diff算法-前端面试进阶

helloworld1024fd

JavaScript

Spring 5(四)JdbcTemplate

浅辄

Java Spring5 11月月更

ShardingSphere + OpenSergo,共同提升微服务体系下数据库的性能与稳定

SphereEx

数据库 微服务 Apache ShardingSphere

说说Vue响应式系统中的Watcher和Dep的关系-面试进阶

bb_xiaxia1998

Vue

为提高 SDLC 安全,GitHub 发布新功能|GitHub Universe 2022

SEAL安全

GitHub 安全

APP“小动作”不断?HarmonyOS 3隐私中心可视化面板让它无处藏身

极客天地

优化开发人员对 K8s 安全的影响

HummerCloud

Kubernetes DevSecOps 11月月更

python的成员方法的简单介绍

乔乔

11月月更

高级前端一面常考手写面试题指南

helloworld1024fd

JavaScript

前端手写面试题,看这一篇就够了

helloworld1024fd

JavaScript

一份vue面试考点清单

bb_xiaxia1998

Vue

首个中文Stable Diffusion模型开源;TPU演进十年;18个PyTorch性能优化技巧 | AI系统前沿动态

OneFlow

人工智能 开源 深度学历 TPU

Flask框架:如何运用Ajax轮询动态绘图

华为云开发者联盟

JavaScript 前端 华为云 企业号十月 PK 榜

FusionInsight MRS Flink DataStream API读写Hudi实践

华为云开发者联盟

大数据 华为云 数据读写 企业号十月 PK 榜

河南数字经济产业创新研究院加入星策社区,携手推进企业智能化转型发展

星策开源社区

人工智能 开源 AI 企业转型 智能化

手写JavaScript常见5种设计模式

helloworld1024fd

JavaScript

【C语言】float 关键字

謓泽

11月月更

中高级前端开发需要掌握的vue知识点

bb_xiaxia1998

Vue

深入react源码看setState究竟做了什么?

flyzz177

React

学习MySQL必须掌握的13个关键字,你get了吗?

小小怪下士

Java MySQL 程序员

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