close
Skip to content

Latest commit

 

History

History
141 lines (90 loc) · 5.74 KB

File metadata and controls

141 lines (90 loc) · 5.74 KB
title Results
sidebar_position 1
id index
license Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Note: Different serializers and configurations excel in different workloads. Benchmark results are for reference only. For your specific use case, conduct benchmarks with appropriate configurations and workloads.

Java Benchmark

The Java benchmark section compares Fory against popular Java serialization frameworks using the current benchmark suite from docs/benchmarks/object-serialization/native/java.

Serialization Throughput:

Java Serialization Throughput

Deserialization Throughput:

Java Deserialization Throughput

JSON Throughput:

Java JSON String Throughput Java JSON UTF-8 Throughput

Cross-Language Throughput:

Java Cross-Language Throughput

Important: Fory's runtime code generation requires proper warm-up for performance measurement:

For additional benchmark notes, raw data, and the complete Java benchmark README, see Java Benchmarks.

Kotlin JSON Benchmark

The Kotlin JSON harness compares Fory JSON Kotlin, kotlinx.serialization, Moshi, and Jackson Kotlin with one immutable model and 16 isolated String/UTF-8 operations. The Kotlin JSON report is intentionally marked pending until a complete measured run is published; no placeholder performance result is inferred from another language or project.

Python Benchmark

Fory Python demonstrates strong performance compared to pickle and Protobuf across object and list workloads.

Python Throughput

For benchmark setup, raw results, and reproduction steps, see Python Benchmarks.

Rust Benchmark

Fory Rust demonstrates competitive performance compared to other Rust serialization frameworks.

Rust Throughput

Note: Results depend on hardware, dataset, and implementation versions. See the Rust benchmark report for the recorded environment, workloads, and reproduction command.

C++ Benchmark

Fory C++ demonstrates competitive performance compared to Protobuf C++ serialization framework.

C++ Throughput

See the C++ benchmark report for the recorded environment, workloads, and reproduction command.

Go Benchmark

Fory Go demonstrates strong performance compared to Protobuf and Msgpack across single-object and list workloads.

Go Throughput

Note: Results depend on hardware, dataset, and implementation versions. See the Go benchmark report for details.

C# Benchmark

Fory C# demonstrates strong performance compared to Protobuf and Msgpack across typed object serialization and deserialization workloads.

C# Throughput

Note: Results depend on hardware and runtime versions. See the C# benchmark report for details.

Swift Benchmark

Fory Swift demonstrates strong performance compared to Protobuf and Msgpack across both scalar-object and list workloads.

Swift Throughput

Note: Results depend on hardware and runtime versions. See the Swift benchmark report for details.

JavaScript Benchmark

Fory JavaScript demonstrates strong performance compared to Protocol Buffers and JSON across representative Node.js workloads.

JavaScript Throughput

Note: Results depend on hardware, dataset, and runtime versions. See the JavaScript benchmark report for details.

Dart Benchmark

Fory Dart demonstrates strong performance compared to Protocol Buffers across representative object and list workloads.

Dart Throughput

Note: Results depend on hardware, dataset, and runtime versions. See the Dart benchmark report for details.

Read Results Responsibly

Start with Methodology, then open the report whose capability, language, schema, mode, and operation match your workload. The checked-in results are historical evidence from their recorded environment, not a guarantee for a different application or current main branch.