Skip to main content
Version: dev

C# Benchmark Performance Report

Generated on 2026-05-08 17:54:45

How to Generate This Report

cd benchmarks/csharp
dotnet run -c Release --project ./Fory.CSharpBenchmark.csproj -- --output build/benchmark_results.json
python3 benchmark_report.py --json-file build/benchmark_results.json --output-dir report

Benchmark Plot

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

Throughput

Hardware & OS Info

KeyValue
OSDarwin 24.6.0 Darwin Kernel Version 24.6.0: Wed Oct 15 21:12:15 PDT 2025; root:xnu-11417.140.69.703.14~1/RELEASE_ARM64_T6041
OS ArchitectureArm64
MachineArm64
Runtime Version8.0.24
Benchmark Date (UTC)2026-05-08T08:17:48.7871870Z
Warmup Seconds1
Duration Seconds3
CPU Logical Cores (from benchmark)12
CPU Cores (Physical)12
CPU Cores (Logical)12
Total RAM (GB)48.0

Benchmark Coverage

KeyValue
Cases in input JSON36 / 36
Serializersfory, msgpack, protobuf
Datatypesstruct, sample, mediacontent, structlist, samplelist, mediacontentlist
Operationsserialize, deserialize

Benchmark Results

Timing Results (nanoseconds)

DatatypeOperationfory (ns)protobuf (ns)msgpack (ns)Fastest
NumericStructSerialize50.3170.8107.8fory
NumericStructDeserialize82.4252.0143.4fory
SampleSerialize263.2607.1377.1fory
SampleDeserialize199.41191.7785.6fory
MediaContentSerialize379.7509.6417.6fory
MediaContentDeserialize450.3846.6791.4fory
NumericStructListSerialize183.7641.8447.8fory
NumericStructListDeserialize288.3974.3702.1fory
SampleListSerialize1205.73559.11864.1fory
SampleListDeserialize895.15710.32757.4fory
MediaContentListSerialize1495.42473.61812.4fory
MediaContentListDeserialize1946.73789.33778.4fory

Throughput Results (ops/sec)

DatatypeOperationfory TPSprotobuf TPSmsgpack TPSFastest
NumericStructSerialize19,881,4575,853,4739,276,378fory
NumericStructDeserialize12,137,3743,968,5856,973,504fory
SampleSerialize3,799,4181,647,1192,652,142fory
SampleDeserialize5,016,006839,1291,272,975fory
MediaContentSerialize2,633,7041,962,4282,394,549fory
MediaContentDeserialize2,220,5371,181,2221,263,568fory
NumericStructListSerialize5,445,0021,558,1562,232,996fory
NumericStructListDeserialize3,469,2071,026,4021,424,322fory
SampleListSerialize829,415280,973536,448fory
SampleListDeserialize1,117,133175,122362,663fory
MediaContentListSerialize668,732404,272551,755fory
MediaContentListDeserialize513,699263,899264,664fory

Serialized Data Sizes (bytes)

Datatypeforyprotobufmsgpack
NumericStruct789387
Sample445460562
MediaContent362307479
NumericStructList255475444
SampleList197823152819
MediaContentList153115502404