Big Data 15 min read

Fury: A High‑Performance Multi‑Language Serialization Framework with JIT Compilation and Zero‑Copy

Fury is a JIT‑compiled, zero‑copy multi‑language serialization framework that delivers up to 170× faster performance than Java’s native serialization, supports automatic cross‑language object graph serialization for Java, Python, C++, Go and JavaScript, and offers specialized protocols for high‑throughput big‑data and AI workloads.

AntTech
AntTech
AntTech
Fury: A High‑Performance Multi‑Language Serialization Framework with JIT Compilation and Zero‑Copy

Serialization is a fundamental component of system communication, widely used in big‑data, AI frameworks and cloud‑native distributed systems; its performance and usability directly affect throughput, latency and developer productivity.

Traditional static frameworks such as ProtoBuf, FlatBuffer and Thrift lack object reference handling, polymorphism support and require pre‑generated code, while dynamic frameworks like JDK serialization, Kryo, Fst and Pickle provide flexibility but suffer from poor cross‑language support and limited performance.

Fury addresses these gaps with a JIT‑driven, zero‑copy architecture that combines highly optimized serialization primitives, dynamic code generation, and asynchronous multi‑threaded compilation, achieving up to 170× speed‑up over JDK serialization and 50‑100× over Kryo/Hessian.

The framework supports major programming languages—including Java, Python, C++, Golang and JavaScript—offering a unified core serialization capability, zero‑copy out‑of‑band protocols, and automatic handling of shared and cyclic references without requiring IDL files or manual schema generation.

Key technical features include:

Highly optimized primitive operations (bitmap handling, integer encoding/compression, string creation, memory copy reduction).

Zero‑copy serialization that extracts binary buffers directly via an Out‑of‑Band protocol, eliminating intermediate memory copies.

JIT dynamic compilation that generates expression‑tree based Java code at runtime, compiles it with Janino, and applies method‑level splitting to ensure full JVM inlining.

Asynchronous compilation with an interpreter fallback to avoid warm‑up latency.

Metadata sharing across a connection to enable type‑compatible deserialization without retransmitting schema information.

Field reordering and alignment for cache‑friendly layout, improving CPU instruction cache utilization.

On top of the core, Fury provides three specialized protocols:

Java serialization – a pure‑Java protocol delivering >100× performance gains for Java‑only workloads.

Cross‑language object‑graph serialization – enables automatic, polymorphic, reference‑preserving serialization across languages, suitable for high‑performance multi‑language applications.

Row‑store serialization – a binary row format inspired by Spark Tungsten and Apache Arrow, allowing direct random access reads/writes for high‑throughput compute engines.

Benchmark results (with zero‑copy disabled for fairness) show Fury consistently outperforming JDK, Kryo and Hessian across a variety of data shapes; detailed numbers are available in the official GitHub documentation.

Future roadmap includes further metadata compression and sharing, type‑compatible cross‑language serialization, static code generation for C++/Golang/Rust, row‑store support for additional languages, integration with the Protobuf ecosystem, AI feature‑store protocols, and continued performance tuning of the serialization primitives.

The project is open‑source and community‑driven; contributions, issues and discussions are welcomed via the GitHub repository https://github.com/alipay/fury and the official website https://furyio.org .

performancebig dataSerializationJITZero CopyFuryMulti-language
AntTech
Written by

AntTech

Technology is the core driver of Ant's future creation.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.