Fury 0.2.1 版本是在 0.2.0 之上的优化版本,该版本主要做了以下更新:
[Go] 支持 TinyGo 编译
[Java] 支持 JDK 17+ private record 类型 JIT 序列化
Bug Fix
修复注册 private 序列化器导致对应类型字段 JIT 失败问题;
更新 Janino 版本,修复包名称跟类名称重复时动态编译报错问题
变更记录
[Doc] 更新 JDK 支持文档 #992
[Go] 支持 TinyGo 编译 #991
[Doc] 修复配置类 import 稳定 #993
[Go] 修复 Golang import path typo #995
[Java] 修复注册 private 序列化器导致对应类型字段 JIT 失败问题 #999
[Java] 使用 MethodHandle 调用构造函数,避免反射开销 #1000
[Java] 支持 private record JIT #1004
[Java] 更新 Janino 版本,修复包名称跟类名称重复时动态编译报错问题 #1006
[Java] 修复 Fury-benchmark Janino 依赖 #1007
[Doc] 改进 README 文档 #1009
完整变更记录见👉https://github.com/alipay/fury/compare/v0.2.0...v0.2.1
新的贡献者
@springrain 在 PR #991 第一次提交代码
@voldyman 在 PR #995 第一次提交代码
@caicancai 在 PR #1009 第一次提交代码
近期计划
正式发布 Fury scala 2/3 支持
基于 JIT 的对象深拷贝支持
新的 Map 序列化协议:我们在本次发布的集合序列化协议带来了最高一倍的性能提升,接下来我们也需要为 Map 设计类似的协议。Map 的遍历较为耗时,需要在一轮遍历当中同时完成同构元数据信息的写入和序列化,协议设计会有所不同,更多细节可以参考 issue:https://github.com/alipay/fury/issues/925
元数据压缩&共享:通过对 Class 元数据进行压缩,改变类型前后兼容模式下的 KV 序列化方式,通过一次 memcopy 完成元数据写入,大幅提升序列化性能,同时避免相同类型对象序列化重复写入元数据信息
跨语言序列化协议标准化文档
更加完善的 Golang/JavaScript/Python/Rust 支持
加入 Fury 社区
随着这次版本发布,Fury 性能进一步增强。欢迎大家加入 Fury 社区,跟我们一起建设 Fury,大家的参与是对我们最大的认可和支持。
任何形式的参与,文档、代码、博客、issue、PR、讨论等都会帮助 Fury 更好的成长。非常期待收到大家的想法和反馈,一起参与到项目的建设中来,推动项目向前发展,打造最先进的序列化框架。
👉 Fury Star 一下 💫:
https://github.com/alipay/fury
官方网站:https://furyio.org
欢迎各种 issue、PR、Discussion。
也欢迎直接加入官方交流群,和我们一起交流。
👇微信公众号:高性能序列化框架 Fury
👇钉钉交流群(钉钉群号:36170003000)