1. XenForo 1.5.14 中文版——支持中文搜索!现已发布!查看详情
  2. Xenforo 爱好者讨论群:215909318 XenForo专区

新闻 fastjson 1.1.47-android 发布,大幅提升性能 下载

Discussion in '软件资讯' started by 漂亮的石头, 2016-04-04.

  1. 漂亮的石头

    漂亮的石头 版主 Staff Member

    Joined:
    2012-02-10
    Messages:
    487,582
    Likes Received:
    47
    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:mm:ss.sssZ和YYYY-MM-DDTHH:mm:ssZ这两种格式。
    3. 功能裁剪。


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

    4. 性能测试


    测试机器 OPPO R7 plusm 处理器高通MSM8939八核 运行内存3GB
    Android版本 5.1.1
    测试代码 https://github.com/alibaba/fastjson...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
    fastjson 1.1.47-android 发布,大幅提升性能下载地址
     
Loading...