Skip to main content
Version: dev

C# Benchmark Performance Report

Generated on 2026-03-11 02:14:01

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

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-03-10T18:14:00.0852460Z
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 Plots

All class-level plots below show throughput (ops/sec).

Throughput

Mediacontent

Mediacontentlist

Sample

Samplelist

Struct

Structlist

Benchmark Results

Timing Results (nanoseconds)

DatatypeOperationfory (ns)protobuf (ns)msgpack (ns)Fastest
StructSerialize39.2121.566.0fory
StructDeserialize58.3180.1102.6fory
SampleSerialize269.2562.6339.6fory
SampleDeserialize175.61084.9531.8fory
MediaContentSerialize306.3434.7351.5fory
MediaContentDeserialize379.4718.8676.9fory
StructListSerialize136.1468.5266.9fory
StructListDeserialize221.1687.0488.5fory
SampleListSerialize1198.92811.91635.7fory
SampleListDeserialize791.55174.52629.2fory
MediaContentListSerialize1393.92199.41710.9fory
MediaContentListDeserialize1719.53373.13401.2fory

Throughput Results (ops/sec)

DatatypeOperationfory TPSprotobuf TPSmsgpack TPSFastest
StructSerialize25,535,5358,233,00615,153,903fory
StructDeserialize17,164,7935,553,2209,745,096fory
SampleSerialize3,715,3021,777,4052,944,981fory
SampleDeserialize5,696,108921,7601,880,420fory
MediaContentSerialize3,264,8902,300,2972,845,038fory
MediaContentDeserialize2,635,4491,391,1381,477,346fory
StructListSerialize7,347,5032,134,5763,746,866fory
StructListDeserialize4,522,1141,455,5572,046,988fory
SampleListSerialize834,086355,633611,365fory
SampleListDeserialize1,263,450193,254380,338fory
MediaContentListSerialize717,408454,670584,497fory
MediaContentListDeserialize581,554296,459294,015fory

Serialized Data Sizes (bytes)

Datatypeforyprotobufmsgpack
Struct586155
Sample446460562
MediaContent365307479
StructList184315284
SampleList198023152819
MediaContentList153515502404