论坛首页 Java企业应用论坛

fastjson发布1.1.0版本

浏览 16016 次
该帖已经被评为良好帖
作者 正文
   发表时间:2011-07-21   最后修改:2011-07-21
根据agapple提供的思路,我又做了进一步的优化,反序列化性能超乎想象。

  序列化时间 反序列化时间 大小 压缩后大小
java序列化 8779 43242 889 514
hessian 6601 9984 501 313
protobuf3097 1780 239 149
thrift 3245 2007 349 197
avro 3505 2132 221 133
jackson-databind 3136 4277 503 271
fastjson 2310 1505 468 251


超越protobuf了... 以后可以这么称,“性能超越protobuf的json parser” 

实现代码主要在:
http://code.alibabatech.com/svn/fastjson/trunk/src/main/java/com/alibaba/fastjson/parser/deserializer/ASMDeserializerFactory.java
ASMDeserializerFactory这个类是做ASM动态生成parser的

http://code.alibabatech.com/svn/fastjson/trunk/src/main/java/com/alibaba/fastjson/parser/JSONScanner.java
JSONScanner新增加了一系列scanFieldXXX来优化性能。

快速模式特别优化了如下类型:
byte、short、int、long、float、double、boolean、char、String、List<String>这些类型的字段处理。

由于1.1.0存在一个bug,我将会尽快发布一个新的版本1.1.1替换。

随后开始补充大量的测试来进一步提升质量。

目前build verify testcase已经有783个了,但是这还不够!
0 请登录后投票
   发表时间:2011-07-21  
wenshao 写道
根据agapple提供的思路,我又做了进一步的优化,反序列化性能超乎想象。

  序列化时间 反序列化时间 大小 压缩后大小
java序列化 8779 43242 889 514
hessian 6601 9984 501 313
protobuf3097 1780 239 149
thrift 3245 2007 349 197
avro 3505 2132 221 133
jackson-databind 3136 4277 503 271
fastjson 2310 1505 468 251


超越protobuf了... 以后可以这么称,“性能超越protobuf的json parser” 

实现代码主要在:
http://code.alibabatech.com/svn/fastjson/trunk/src/main/java/com/alibaba/fastjson/parser/deserializer/ASMDeserializerFactory.java
ASMDeserializerFactory这个类是做ASM动态生成parser的

http://code.alibabatech.com/svn/fastjson/trunk/src/main/java/com/alibaba/fastjson/parser/JSONScanner.java
JSONScanner新增加了一系列scanFieldXXX来优化性能。

快速模式特别优化了如下类型:
byte、short、int、long、float、double、boolean、char、String、List<String>这些类型的字段处理。

由于1.1.0存在一个bug,我将会尽快发布一个新的版本1.1.1替换。

随后开始补充大量的测试来进一步提升质量。

目前build verify testcase已经有783个了,但是这还不够!


越来越NB了,继续给大家介绍下此次的优化思路把,搬凳子围观
0 请登录后投票
   发表时间:2011-07-21  
非常关注这个项目的进度,我准备在实战中使用了
0 请登录后投票
   发表时间:2011-07-21  
楼主,果然深入,学习了,暂时拿来用,有问题再啃下源码。
0 请登录后投票
   发表时间:2011-07-22  
楼主太牛了,以前一直用jackson,换fastjson快了很多
0 请登录后投票
   发表时间:2011-10-12  
支持,我们自己的开源,我也打算实际项目中用,还要在看看文档
0 请登录后投票
   发表时间:2011-10-31  
挺好的工具,可惜 序列化是基于 set get 方法, 而不是直接访问“字段”, 还是只有用基于字段的序列化,比如google的gson
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics