Skip to content

FodderMK/SerializationBenchmarks

Repository files navigation

Serialization Benchmarks

This is a series of benchmarks showing the speed, size, and garbage of various serialization methods.

Results

Method rawData Mean Error StdDev Serialized Size Serialized [gzip] Serialized [gzip_b64] Gen 0 Gen 1 Gen 2 Allocated
FlatBuffers TBS [1] 1,338.4us 12.67us 11.85us 253.98KB 80.13KB 106.84KB 72.2656 70.3125 70.3125 293.12KB
Protobuf TBS [1] 1,004.9us 15.34us 14.35us 126.71KB 42.33KB 56.43KB 78.1250 39.0625 39.0625 986.37KB
NewtonsoftJson TBS [1] 4,072.8us 46.98us 43.95us 398.32KB 59.15KB 78.87KB 421.8750 367.1875 328.1250 2779.27KB
SystemTextJson TBS [1] 1,565.6us 15.80us 14.01us 398.32KB 59.21KB 78.95KB 347.6563 330.0781 330.0781 1509.09KB
MessagePackString TBS [1] 561.1us 8.64us 8.08us 409.49KB 56.39KB 75.19KB 124.0234 124.0234 124.0234 819.82KB
MessagePackInt TBS [1] 438.5us 5.62us 5.26us 96.93KB 49.95KB 66.60KB 30.7617 30.7617 30.7617 507.22KB
MemoryPack TBS [1] 357.0us 6.62us 6.19us 156.28KB 45.34KB 60.46KB 49.8047 49.8047 49.8047 566.58KB
BinaryWriter TBS [1] 313.8us 4.21us 3.94us 78.14KB 42.76KB 57.01KB 41.5039 41.5039 41.5039 334.27KB
FlatBuffers TBS [32] 1,397.1us 9.66us 9.03us 566.52KB 329.58KB 439.44KB 140.6250 138.6719 138.6719 605.67KB
Protobuf TBS [32] 1,103.2us 15.75us 14.73us 429.48KB 272.60KB 363.46KB 158.2031 130.8594 107.4219 1289.98KB
NewtonsoftJson TBS [32] 4,345.5us 69.14us 64.67us 701.08KB 282.39KB 376.52KB 625.0000 570.3125 492.1875 4299.79KB
SystemTextJson TBS [32] 1,825.2us 32.74us 32.15us 701.08KB 282.21KB 376.28KB 435.5469 417.9688 417.9688 2417.04KB
MessagePackString TBS [32] 684.6us 13.29us 17.28us 722.02KB 289.92KB 386.57KB 189.4531 175.7813 165.0391 1132.82KB
MessagePackInt TBS [32] 534.6us 7.63us 7.14us 409.46KB 274.55KB 366.07KB 124.0234 124.0234 124.0234 819.79KB
MemoryPack TBS [32] 437.3us 6.05us 5.66us 459.04KB 268.76KB 358.35KB 138.1836 125.4883 113.2813 869.85KB
BinaryWriter TBS [32] 438.0us 8.64us 10.62us 380.91KB 266.48KB 355.30KB 316.4063 309.0820 308.5938 1405.16KB

Notes

  • For TBS [##], ## represents the length of the strings used.
  • The exact Mean/Error/StdDev numbers aren't important, the relative differences are
  • flatc is copied from the releases section of the official git repository.
  • protoc is copied from the releases section of the official git repository

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors