Benchmark
Note: Different serialization frameworks excel in different scenarios. Benchmark results are for reference only. For your specific use case, conduct benchmarks with appropriate configurations and workloads.
Java Benchmark
The following benchmarks compare Fory against popular Java serialization frameworks. Charts labeled "compatible" show schema evolution mode with forward/backward compatibility enabled, while others show schema consistent mode where class schemas must match.
Test Classes:
Struct: Class with 100 primitive fieldsMediaContent: Class from jvm-serializersSample: Class from Kryo benchmark
Java Serialization
Java Deserialization
Important: Fory's runtime code generation requires proper warm-up for performance measurement:
For additional benchmarks covering type forward/backward compatibility, off-heap support, and zero-copy serialization, see Java Benchmarks.
Rust Benchmark
Fory Rust demonstrates competitive performance compared to other Rust serialization frameworks.
Note: Results depend on hardware, dataset, and implementation versions. See the Rust guide for how to run benchmarks yourself: https://github.com/apache/fory/blob/main/benchmarks/rust_benchmark/README.md
JavaScript Benchmark
The data used for this bar graph includes a complex object that has many kinds of field types, and the size of the JSON data is 3KB.
See benchmarks for the benchmark code.