Skip to main content
Version: dev

Benchmark

Different serialization frameworks are suitable for different scenarios, and benchmark results here are for reference only.

If you need to benchmark for your specific scenario, make sure all serialization frameworks are appropriately configured for that scenario.

Dynamic serialization frameworks supports polymorphism and reference, which has more cost compared to static serialization frameworks, unless it uses the jit techniques as Apache Fory™ did. Since Apache Fory™ will generate code at runtime, please warm up before collecting benchmark statistics.

Java Benchmark

Java Serialization

Java Deserialization

See benchmarks for more benchmarks about type forward/backward compatibility, off-heap support, zero-copy serialization.

Rust Benchmark

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/rust/benches/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.