tree: 0d38096414cf1bfa142a559025ee116333f78134
  1. mediacontent.png
  2. mediacontentlist.png
  3. README.md
  4. sample.png
  5. samplelist.png
  6. struct.png
  7. structlist.png
  8. throughput.png
docs/benchmarks/dart/README.md

Fory Dart Benchmark

This benchmark compares serialization and deserialization throughput for Apache Fory and Protocol Buffers in Dart.

Hardware and Runtime Info

KeyValue
Timestamp2026-04-13T21:55:28.456625Z
OSVersion 26.2 (Build 25C56)
HostMacbook-Air.local
CPU Cores (Logical)8
Memory (GB)8.00
Dart3.10.4 (stable) (Tue Dec 9 00:01:55 2025 -0800) on “macos_arm64”
Samples per case5
Warmup per case (s)1.0
Duration per case (s)1.5

Throughput Results

Throughput

DatatypeOperationFory TPSProtobuf TPSFastest
StructSerialize3,989,4321,884,653fory (2.12x)
StructDeserialize5,828,1974,199,680fory (1.39x)
SampleSerialize1,649,722500,167fory (3.30x)
SampleDeserialize2,060,113785,109fory (2.62x)
MediaContentSerialize800,876391,235fory (2.05x)
MediaContentDeserialize1,315,115683,533fory (1.92x)
StructListSerialize1,456,396367,506fory (3.96x)
StructListDeserialize1,921,006645,958fory (2.97x)
SampleListSerialize411,14448,508fory (8.48x)
SampleListDeserialize464,273103,558fory (4.48x)
MediaContentListSerialize186,87077,029fory (2.43x)
MediaContentListDeserialize330,293128,215fory (2.58x)

Serialized Size (bytes)

DatatypeForyProtobuf
Struct5861
Sample446377
MediaContent365307
StructList184315
SampleList19801900
MediaContentList15351550

Per-workload Plots

Struct

Struct

Sample

Sample

MediaContent

MediaContent

StructList

StructList

SampleList

SampleList

MediaContentList

MediaContentList