tree: c7bebfae862e9ecc310d9bf7cce67274a31cc817
  1. README.md
  2. throughput.png
docs/benchmarks/rust/README.md

Rust Benchmark Performance Report

Generated on 2026-05-08 17:55:12

How to Generate This Report

cd benchmarks/rust
cargo bench --bench serialization_bench 2>&1 | tee results/cargo_bench.log
cargo run --release --bin fory_profiler -- --print-all-serialized-sizes | tee results/serialized_sizes.txt
python benchmark_report.py --log-file results/cargo_bench.log --size-file results/serialized_sizes.txt --output-dir results

Benchmark Plot

The plot shows throughput (ops/sec); higher is better.

Throughput

Hardware & OS Info

KeyValue
OSDarwin 24.6.0
Machinearm64
Processorarm
CPU Cores (Physical)12
CPU Cores (Logical)12
Total RAM (GB)48.0
Benchmark Date2026-05-08T16:47:49

Benchmark Results

Timing Results (nanoseconds)

DatatypeOperationfory (ns)protobuf (ns)msgpack (ns)Fastest
NumericStructSerialize38.194.6239.5fory
NumericStructDeserialize32.662.4107.3fory
SampleSerialize95.3591.8601.1fory
SampleDeserialize410.1925.8805.9fory
MediaContentSerialize120.0553.9446.9fory
MediaContentDeserialize566.7713.0902.6fory
NumericStructListSerialize121.5512.0618.0fory
NumericStructListDeserialize137.9404.9615.9fory
SampleListSerialize267.72920.22011.1fory
SampleListDeserialize1831.94636.44141.4fory
MediaContentListSerialize367.12835.61441.7fory
MediaContentListDeserialize2703.83622.34832.3fory

Throughput Results (ops/sec)

DatatypeOperationfory TPSprotobuf TPSmsgpack TPSFastest
NumericStructSerialize26,237,76710,572,6134,174,668fory
NumericStructDeserialize30,720,07916,035,9209,322,271fory
SampleSerialize10,494,6111,689,8741,663,700fory
SampleDeserialize2,438,3111,080,1701,240,895fory
MediaContentSerialize8,331,9451,805,4452,237,687fory
MediaContentDeserialize1,764,6331,402,4261,107,960fory
NumericStructListSerialize8,232,4851,953,1251,618,071fory
NumericStructListDeserialize7,250,5802,469,5631,623,535fory
SampleListSerialize3,735,664342,442497,240fory
SampleListDeserialize545,881215,685241,464fory
MediaContentListSerialize2,724,350352,659693,626fory
MediaContentListDeserialize369,850276,068206,941fory

Serialized Data Sizes (bytes)

Datatypeforyprotobufmsgpack
NumericStruct789387
Sample445375590
MediaContent362301500
NumericStructList255475449
SampleList197818902964
MediaContentList153115202521