As part of a YouTube video, I went through a bunch of serializers to see their current levels of performance. I'm happy for this repository to be improved in terms of fixing any minor issues, adding new scenarios or adding serialization frameworks.
- Newtonsoft.Json
- ServiceStack.Text
- SpanJson
- System.Text.Json (with & without Source Generator)
- UTF8Json
| Method | data | Mean | Error | StdDev | Median | Min | Max | Gen0 | Gen1 | Gen2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|---|---|
| MemoryPack_Deserialize | Small | 58.60 us | 0.518 us | 0.433 us | 58.54 us | 57.74 us | 59.54 us | 5.2490 | 1.7090 | - | 263712 B |
| Bebop_Deserialize | Small | 69.32 us | 0.603 us | 0.503 us | 69.49 us | 68.48 us | 70.14 us | 5.3711 | 2.6855 | - | 271976 B |
| GroBuf_Deserialize | Small | 87.62 us | 1.735 us | 1.623 us | 87.07 us | 86.03 us | 91.05 us | 5.2490 | 1.7090 | - | 263784 B |
| Hyperion_Deserialize | Small | 156.09 us | 2.267 us | 2.121 us | 155.00 us | 154.10 us | 160.29 us | 6.1035 | 1.9531 | - | 315232 B |
| ProtoBufNet_Deserialize | Small | 179.38 us | 2.374 us | 2.221 us | 178.99 us | 175.86 us | 184.31 us | 5.3711 | 1.7090 | - | 270232 B |
| MsgPack_Deserialize | Small | 181.83 us | 2.895 us | 2.708 us | 180.58 us | 177.65 us | 185.74 us | 6.3477 | 1.9531 | - | 322224 B |
| MessagePack_Deserialize | Small | 188.58 us | 2.923 us | 2.591 us | 188.53 us | 185.02 us | 194.21 us | 5.1270 | 1.7090 | - | 263712 B |
| BSON_Deserialize | Small | 634.14 us | 12.391 us | 12.724 us | 632.04 us | 617.21 us | 666.96 us | 13.6719 | 3.9063 | - | 701856 B |
| CBOR_Deserialize | Small | 726.58 us | 9.939 us | 9.297 us | 723.16 us | 716.24 us | 742.58 us | 4.8828 | 0.9766 | - | 263888 B |
| AvroConvert_Deserialize | Small | 799.89 us | 15.608 us | 13.836 us | 800.85 us | 778.34 us | 822.65 us | 23.4375 | 7.8125 | - | 1212811 B |
| MemoryPack_Deserialize | Medium | 1,730.99 us | 33.205 us | 31.060 us | 1,723.75 us | 1,680.50 us | 1,793.02 us | 128.9063 | 83.9844 | - | 6532960 B |
| Bebop_Deserialize | Medium | 2,114.38 us | 40.804 us | 43.660 us | 2,106.52 us | 2,038.08 us | 2,197.67 us | 132.8125 | 74.2188 | - | 6732424 B |
| GroBuf_Deserialize | Medium | 2,239.64 us | 36.218 us | 37.193 us | 2,229.51 us | 2,195.87 us | 2,337.69 us | 128.9063 | 78.1250 | - | 6533032 B |
| Hyperion_Deserialize | Medium | 4,178.03 us | 75.188 us | 70.331 us | 4,163.21 us | 4,041.03 us | 4,311.89 us | 148.4375 | 78.1250 | - | 7789296 B |
| ProtoBufNet_Deserialize | Medium | 4,806.51 us | 77.923 us | 69.077 us | 4,815.45 us | 4,676.01 us | 4,918.26 us | 132.8125 | 70.3125 | - | 6693080 B |
| MsgPack_Deserialize | Medium | 4,951.15 us | 58.342 us | 48.718 us | 4,957.21 us | 4,873.06 us | 5,027.38 us | 156.2500 | 101.5625 | - | 7992936 B |
| MessagePack_Deserialize | Medium | 5,023.95 us | 46.639 us | 38.946 us | 5,010.15 us | 4,988.89 us | 5,111.67 us | 125.0000 | 70.3125 | - | 6532960 B |
| AvroConvert_Deserialize | Medium | 15,584.78 us | 311.647 us | 709.777 us | 15,371.05 us | 14,646.55 us | 17,489.67 us | 333.3333 | - | - | 27973812 B |
| BSON_Deserialize | Medium | 16,944.69 us | 254.312 us | 225.441 us | 16,965.89 us | 16,641.48 us | 17,422.88 us | 343.7500 | 187.5000 | - | 17297736 B |
| CBOR_Deserialize | Medium | 18,763.49 us | 192.816 us | 180.360 us | 18,716.01 us | 18,546.26 us | 19,101.29 us | 125.0000 | 31.2500 | - | 6533136 B |
| MemoryPack_Deserialize | Large | 28,480.17 us | 489.499 us | 619.059 us | 28,459.89 us | 27,531.77 us | 29,566.49 us | 687.5000 | 656.2500 | 187.5000 | 26179013 B |
| GroBuf_Deserialize | Large | 31,123.57 us | 599.308 us | 736.005 us | 31,244.02 us | 30,121.20 us | 32,712.47 us | 687.5000 | 656.2500 | 187.5000 | 26179082 B |
| Bebop_Deserialize | Large | 31,199.68 us | 578.133 us | 791.355 us | 31,268.80 us | 29,511.71 us | 32,585.58 us | 750.0000 | 718.7500 | 218.7500 | 26980581 B |
| MessagePack_Deserialize | Large | 40,768.68 us | 804.164 us | 1,203.635 us | 40,566.98 us | 39,044.56 us | 43,176.89 us | 666.6667 | 583.3333 | 166.6667 | 26178952 B |
| ProtoBufNet_Deserialize | Large | 41,651.98 us | 825.888 us | 1,489.247 us | 41,366.05 us | 39,410.55 us | 44,965.42 us | 636.3636 | 545.4545 | 181.8182 | 26819234 B |
| Hyperion_Deserialize | Large | 45,861.43 us | 827.616 us | 1,534.039 us | 45,520.00 us | 43,038.36 us | 50,297.82 us | 727.2727 | 636.3636 | 181.8182 | 31179836 B |
| MsgPack_Deserialize | Large | 48,526.49 us | 1,132.700 us | 3,176.211 us | 47,864.77 us | 44,146.65 us | 58,062.75 us | 727.2727 | 636.3636 | 181.8182 | 32018868 B |
| BSON_Deserialize | Large | 82,505.49 us | 1,338.907 us | 1,118.048 us | 82,170.30 us | 80,846.00 us | 84,451.40 us | 1000.0000 | - | - | 69296648 B |
| CBOR_Deserialize | Large | 93,495.77 us | 1,700.449 us | 1,958.240 us | 93,641.66 us | 90,872.48 us | 97,455.17 us | 666.6667 | 500.0000 | 166.6667 | 26179123 B |
| AvroConvert_Deserialize | Large | 96,603.79 us | 1,842.595 us | 4,307.008 us | 95,905.85 us | 88,961.50 us | 110,164.90 us | 1500.0000 | 1000.0000 | - | 112646136 B |
| MemoryPack_Serialize | Small | 29.92 us | 0.456 us | 0.427 us | 29.81 us | 29.49 us | 30.86 us | 15.3809 | 15.3809 | 15.3809 | 98827 B |
| GroBuf_Serialize | Small | 52.73 us | 0.483 us | 0.428 us | 52.61 us | 52.12 us | 53.54 us | 29.2358 | 29.2358 | 29.2358 | 189635 B |
| Bebop_Serialize | Small | 65.31 us | 0.583 us | 0.517 us | 65.15 us | 64.44 us | 66.12 us | - | - | - | - |
| MessagePack_Serialize | Small | 76.49 us | 1.453 us | 1.288 us | 75.86 us | 75.21 us | 79.27 us | 1.3428 | - | - | 69336 B |
| ProtoBufNet_Serialize | Small | 132.01 us | 2.433 us | 2.498 us | 131.03 us | 128.49 us | 137.68 us | 4.3945 | 0.7324 | - | 228616 B |
| Hyperion_Serialize | Small | 150.60 us | 0.934 us | 0.729 us | 150.38 us | 149.60 us | 151.82 us | 28.0762 | 23.4375 | 23.1934 | 384314 B |
| MsgPack_Serialize | Small | 172.07 us | 3.425 us | 4.688 us | 169.90 us | 166.01 us | 180.21 us | 11.7188 | 2.1973 | - | 596032 B |
| AvroConvert_Serialize | Small | 226.91 us | 2.150 us | 1.795 us | 227.45 us | 224.48 us | 230.84 us | 53.4668 | 44.9219 | 44.9219 | 699053 B |
| CBOR_Serialize | Small | 432.34 us | 2.183 us | 2.042 us | 432.36 us | 429.07 us | 435.46 us | 47.3633 | 46.8750 | 46.8750 | 282000 B |
| BSON_Serialize | Small | 617.90 us | 3.319 us | 2.942 us | 617.93 us | 613.48 us | 624.14 us | 103.5156 | 93.7500 | 93.7500 | 1074658 B |
| MemoryPack_Serialize | Medium | 1,160.10 us | 21.034 us | 19.676 us | 1,153.16 us | 1,130.71 us | 1,193.22 us | 44.9219 | 44.9219 | 44.9219 | 2446073 B |
| GroBuf_Serialize | Medium | 1,536.95 us | 21.251 us | 19.879 us | 1,532.46 us | 1,505.51 us | 1,571.38 us | 80.0781 | 80.0781 | 80.0781 | 4688393 B |
| Bebop_Serialize | Medium | 1,939.76 us | 10.332 us | 9.665 us | 1,936.72 us | 1,928.48 us | 1,956.84 us | - | - | - | - |
| MessagePack_Serialize | Medium | 2,347.63 us | 19.786 us | 18.508 us | 2,344.86 us | 2,323.03 us | 2,381.54 us | 19.5313 | 19.5313 | 19.5313 | 1737163 B |
| ProtoBufNet_Serialize | Medium | 3,616.98 us | 38.971 us | 36.454 us | 3,615.96 us | 3,569.04 us | 3,685.85 us | 136.7188 | 136.7188 | 136.7188 | 7090477 B |
| MemoryPack_Serialize | Large | 4,421.75 us | 41.549 us | 36.832 us | 4,407.52 us | 4,383.34 us | 4,506.45 us | 23.4375 | 23.4375 | 23.4375 | 9818534 B |
| Hyperion_Serialize | Medium | 4,829.83 us | 83.152 us | 77.781 us | 4,815.19 us | 4,697.72 us | 4,994.36 us | 117.1875 | 93.7500 | 93.7500 | 7196817 B |
| MsgPack_Serialize | Medium | 4,910.87 us | 210.038 us | 619.301 us | 4,576.39 us | 4,312.26 us | 6,365.79 us | 484.3750 | 437.5000 | 437.5000 | 15024012 B |
| GroBuf_Serialize | Large | 5,866.50 us | 82.453 us | 68.852 us | 5,866.07 us | 5,750.46 us | 5,949.06 us | 62.5000 | 62.5000 | 62.5000 | 18824593 B |
| Bebop_Serialize | Large | 7,803.08 us | 124.266 us | 116.238 us | 7,787.77 us | 7,673.75 us | 8,089.99 us | - | - | - | - |
| AvroConvert_Serialize | Medium | 8,584.76 us | 198.541 us | 585.403 us | 8,656.65 us | 6,782.32 us | 9,540.36 us | 523.4375 | 460.9375 | 453.1250 | 14688558 B |
| MessagePack_Serialize | Large | 9,737.70 us | 118.544 us | 105.086 us | 9,702.39 us | 9,598.68 us | 9,936.31 us | - | - | - | 7196864 B |
| CBOR_Serialize | Medium | 11,032.44 us | 53.426 us | 44.614 us | 11,034.91 us | 10,969.34 us | 11,104.22 us | 78.1250 | 78.1250 | 78.1250 | 6976120 B |
| ProtoBufNet_Serialize | Large | 15,391.88 us | 150.953 us | 141.202 us | 15,452.92 us | 15,213.55 us | 15,593.49 us | 187.5000 | 187.5000 | 187.5000 | 27893449 B |
| BSON_Serialize | Medium | 17,465.30 us | 337.291 us | 315.502 us | 17,385.07 us | 17,041.27 us | 18,222.42 us | 343.7500 | 156.2500 | 156.2500 | 22030238 B |
| Hyperion_Serialize | Large | 22,064.15 us | 427.043 us | 399.456 us | 21,916.19 us | 21,393.27 us | 22,805.01 us | 125.0000 | 31.2500 | 31.2500 | 28827414 B |
| AvroConvert_Serialize | Large | 27,065.59 us | 519.945 us | 533.945 us | 26,796.13 us | 26,508.96 us | 28,451.35 us | 406.2500 | 125.0000 | 125.0000 | 58901806 B |
| MsgPack_Serialize | Large | 29,938.69 us | 597.353 us | 1,594.455 us | 30,274.85 us | 25,897.10 us | 32,986.87 us | 718.7500 | 562.5000 | 562.5000 | 67711742 B |
| CBOR_Serialize | Large | 47,750.86 us | 766.150 us | 716.657 us | 47,506.22 us | 46,906.84 us | 49,060.20 us | 90.9091 | - | - | 34038424 B |
| BSON_Serialize | Large | 70,826.86 us | 1,232.575 us | 1,092.646 us | 70,977.39 us | 69,262.30 us | 72,810.54 us | 714.2857 | - | - | 88364960 B |
