Skip to main content

Fury v0.2.0 released

· 8 min read
Shawn Yang
info

This release was made before Fury joined the Apache Incubator and thus it's a non-ASF release.

I'm so excited to announce the 0.2.0 release of the Fury. This a very exciting version of fury. With this version, we have 1X speedup, 30%~50% smaller serialized size. And now we are the fastest serialization framework in the JVM-Serializers. At the same time, fury has fully support for JDK17/21, I supported JDK17+ record JIT serialization, JDK9+ ImmutableList JIT serialization. The serialization is blazing fast, please try it out. And we also open sourced Fury GO, the first golang serialization framework which supports circular reference and interface polymorphismm, feel free to try it out and let me know if you have any issues.

Author: chaokunyang

I'm so excited to announce the 0.2.0 release of the Fury. This a very exciting version of fury. With this version, we have 1X speedup, 30%~50% smaller serialized size. And now we are the fastest serialization framework in the JVM-Serializers. At the same time, fury has fully support for JDK17/21, I supported JDK17+ record JIT serialization, JDK9+ ImmutableList JIT serialization. The serialization is blazing fast, please try it out. And we also open sourced Fury GO, the first golang serialization framework which supports circular reference and interface polymorphismm, feel free to try it out and let me know if you have any issues.

Highlights

Java

  • Support JDK17+ record JIT/Interpreter serialization
  • Support JDK17+ record JIT/Interpreter serialization backward/forward compatibility
  • Support jdk9+ Immutable Collections JIT/Interpreter mode serialization, much faster compared to other frameworks
  • New collection serialization protocol by homogenization, 1.5x speed up, 2X space saving.
  • Desgined and implemented a new long compression algorithm, with performance cost less than 10% but give 50% compresstion ratio
  • Support configuring compress int/long independently, enable int/long compression by default
  • Add class checker API and Whitelist/Blacklist based implementation to enhance security

Python

  • Support pyarrow6 bazel build
  • Support python 3.10

JavaScript

  • [JavaScript] support fury for browser
  • [JavaScript] support polymorphism
  • [JavaScript] enhancement performance

Golang

  • Implement Golang serialization framework, which support reference, pointer, data serialization
  • Implement serializers for string/numbers/slice/map/slice/struct/pointer

What's Changed

New Contributors

Full Changelog: https://github.com/alipay/fury/compare/v0.1.0...v0.2.0