fastjson 1.1.47-android 发布,大幅提升性能

wenshao
 wenshao
发布于 2016年04月04日
收藏 66

Android环境下性能大幅度提升,减少内存占用,jar包大小不足200k。

1. 性能优化。

1.1.47-android针对android做了很多性能优化,性能优化包括首次序列化/反序列化,在android环境,序列化的次数较少,不如服务器端多,在此版本中,针对首次序列化和反序列化做了优化大幅提升了性能,当然常规的优化也做了很多。
优化的办法包括:

  • 减少getAnnotation/getGenericType等耗时方法的调用。

  • 减少方法调用,android的内联优化做得不好,方法调用的开销比oracle jvm大得多。减少方法调用的技巧包括:使用成员变量减少方法重复调用,使用field代替getter/setter,合并小方法。

  • 迁移在非android版本的通过字节码生成实现的优化算法,对key采用比较而不是读出key对象的方法,反序列化能减少一半对象创建,从而能大幅提升性能。

  • 采用Field的getInt/getLong/setInt/setLong/setBoolean/setFloat/setDouble等方法,减少序列化/反序列化过程中原生类型(boolean/int/long/float/double)对象的box/unbox的开销。

2. 功能增强

  • 日期反序列化能自动识别YYYY-MM-DDTHH🇲🇲ss.sssZ和YYYY-MM-DDTHH🇲🇲ssZ这两种格式。

3. 功能裁剪。

这个版本去掉了android版本不常用的stream api,去掉了stream api的JSONReader/JSONWriter相关实现。

4. 性能测试

测试机器 OPPO R7 plusm 处理器高通MSM8939八核 运行内存3GB
Android版本 5.1.1
测试代码 https://github.com/alibaba/fastjson/tree/1.1.47-android/src/test/java/com/alibaba/json/test/benchmark

测试数据


首次序列化 首次反序列化 非首次序列化 非首次反序列化
fastjson-1.1.47-android 1280 2168 723 871
gson-2.6.2 5205 4897 1881 1486

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:fastjson 1.1.47-android 发布,大幅提升性能
加载中

最新评论(16

wenshao
wenshao

引用来自“openproject”的评论

200k不小了

引用来自“wenshao”的评论

比其他json库小

引用来自“openproject”的评论

gson-2.2.4 188k
jackson-core-2.1.3 204k
只能说比它之前小很多,可见之前多大。。。
gson最新版本2.6.2是229k
wenshao
wenshao

引用来自“乐山ing”的评论

支持一下,国产良心开源软件

引用来自“ic_launcher”的评论

想问下,这个最新的jar包哪里有呢
下载地址 http://repo1.maven.org/maven2/com/alibaba/fastjson/1.1.47.android/
ic_launcher
ic_launcher

引用来自“乐山ing”的评论

支持一下,国产良心开源软件
想问下,这个最新的jar包哪里有呢
ic_launcher
ic_launcher
这个1.1.47的jar包在哪里可以下载啊
openproject
openproject

引用来自“openproject”的评论

200k不小了

引用来自“wenshao”的评论

比其他json库小
gson-2.2.4 188k
jackson-core-2.1.3 204k
只能说比它之前小很多,可见之前多大。。。
wenshao
wenshao

引用来自“openproject”的评论

200k不小了
比其他json库小
openproject
openproject
200k不小了
_君剑
_君剑
不是有1.2.4-android么
豆丁是个胖子
豆丁是个胖子

引用来自“eechen”的评论

Java 9直接把FastJSON纳入标准类库得了,让Gson和Jackson玩蛋去.
c其实只是php大法的一节小分支,世界上第一种编程语言就是php,php创造了汇编功成名就,而后大隐隐于市。然而这只是冰山一角,有科学家发现上古时期的甲骨文,解析出了echo “eechen wqnmlgb”这种代码。近期NASA也在火星上发现了php的痕迹。我还有一点不太明白,你这low逼什么时候滚出osc?
回去干活
回去干活
果然fast,快的冒烟...
返回顶部
顶部