Skip to main content
Version: 1.4

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