Results of Northwind database rows serialization benchmarks run at 17/08/2010
These benchmarks show the total time in ticks (1/1000ms) that it takes each serializer to serialize and deserialize the first row from each table in the Northwind Database100,000 Times.
The full source code of the serialization benchmarks (which generated this report) is available here.
Combined results of all benchmarks below
* All times measured in ticks and payload size in bytes| Serializer | Payload size | Larger than best | Serialization | Deserialization | Total | Avg per iteration | Slower than best |
| Microsoft DataContractSerializer | 4097 | 4.68x | 23558019 | 60261551 | 83819570 | 838.1957 | 6.93x |
|---|
| Microsoft JsonDataContractSerializer | 1958 | 2.24x | 31122650 | 81462889 | 112585539 | 1125.8554 | 9.31x |
|---|
| Microsoft BinaryFormatter | 4927 | 5.62x | 62828907 | 48511200 | 111340107 | 1113.4011 | 9.21x |
|---|
| NewtonSoft.Json | 2014 | 2.30x | 26002603 | 68727099 | 94729702 | 947.2970 | 7.83x |
|---|
| ProtoBuf.net | 876 | 1x | 5607749 | 6486997 | 12094746 | 120.9475 | 1x |
|---|
| ServiceStack TypeSerializer | 1549 | 1.77x | 15017643 | 11986647 | 27004290 | 270.0429 | 2.23x |
|---|
| ServiceStack JsonSerializer | 1831 | 2.09x | 15818648 | 15443998 | 31262646 | 312.6265 | 2.58x |
Results of serializing and deserializing CategoryDto 100,000 times
* All times measured in ticks and payload size in bytes| Serializer | Payload size | Larger than best | Serialization | Deserialization | Total | Avg per iteration | Slower than best |
| Microsoft DataContractSerializer | 275 | 4.74x | 1668767 | 3856966 | 5525733 | 55.2573 | 7.83x |
|---|
| Microsoft JsonDataContractSerializer | 95 | 1.64x | 1565061 | 4609701 | 6174762 | 61.7476 | 8.76x |
|---|
| Microsoft BinaryFormatter | 329 | 5.67x | 4110729 | 3140782 | 7251511 | 72.5151 | 10.28x |
|---|
| NewtonSoft.Json | 110 | 1.90x | 1141094 | 3945628 | 5086722 | 50.8672 | 7.21x |
|---|
| ProtoBuf.net | 58 | 1x | 322900 | 382380 | 705280 | 7.0528 | 1x |
|---|
| ServiceStack TypeSerializer | 87 | 1.5x | 852013 | 537787 | 1389800 | 13.898 | 1.97x |
|---|
| ServiceStack JsonSerializer | 95 | 1.64x | 905827 | 586510 | 1492337 | 14.9234 | 2.12x |
Results of serializing and deserializing CustomerDto 100,000 times
* All times measured in ticks and payload size in bytes| Serializer | Payload size | Larger than best | Serialization | Deserialization | Total | Avg per iteration | Slower than best |
| Microsoft DataContractSerializer | 482 | 3.74x | 2475585 | 7232026 | 9707611 | 97.0761 | 4.73x |
|---|
| Microsoft JsonDataContractSerializer | 256 | 1.98x | 2620913 | 8593563 | 11214476 | 112.1448 | 5.47x |
|---|
| Microsoft BinaryFormatter | 635 | 4.92x | 7174199 | 6760429 | 13934628 | 139.3463 | 6.79x |
|---|
| NewtonSoft.Json | 271 | 2.10x | 2853456 | 7978714 | 10832170 | 108.3217 | 5.28x |
|---|
| ProtoBuf.net | 129 | 1x | 867089 | 1184792 | 2051881 | 20.5188 | 1x |
|---|
| ServiceStack TypeSerializer | 202 | 1.57x | 1359586 | 1167090 | 2526676 | 25.2668 | 1.23x |
|---|
| ServiceStack JsonSerializer | 242 | 1.88x | 1519940 | 1624876 | 3144816 | 31.4482 | 1.53x |
Results of serializing and deserializing EmployeeDto 100,000 times
* All times measured in ticks and payload size in bytes| Serializer | Payload size | Larger than best | Serialization | Deserialization | Total | Avg per iteration | Slower than best |
| Microsoft DataContractSerializer | 851 | 2.43x | 3950717 | 9925250 | 13875967 | 138.7597 | 4.54x |
|---|
| Microsoft JsonDataContractSerializer | 598 | 1.71x | 6568328 | 16201678 | 22770006 | 227.7001 | 7.45x |
|---|
| Microsoft BinaryFormatter | 1092 | 3.12x | 14743117 | 9156627 | 23899744 | 238.9974 | 7.82x |
|---|
| NewtonSoft.Json | 607 | 1.73x | 5998553 | 16372992 | 22371545 | 223.7154 | 7.32x |
|---|
| ProtoBuf.net | 350 | 1x | 1350324 | 1704289 | 3054613 | 30.5461 | 1x |
|---|
| ServiceStack TypeSerializer | 495 | 1.41x | 3226411 | 2759202 | 5985613 | 59.8561 | 1.96x |
|---|
| ServiceStack JsonSerializer | 574 | 1.64x | 3052764 | 4222201 | 7274965 | 72.7496 | 2.38x |
Results of serializing and deserializing EmployeeTerritoryDto 100,000 times
* All times measured in ticks and payload size in bytes| Serializer | Payload size | Larger than best | Serialization | Deserialization | Total | Avg per iteration | Slower than best |
| Microsoft DataContractSerializer | 233 | 12.94x | 1652463 | 4448438 | 6100901 | 61.0090 | 11.11x |
|---|
| Microsoft JsonDataContractSerializer | 38 | 2.11x | 1375635 | 3931130 | 5306765 | 53.0676 | 9.66x |
|---|
| Microsoft BinaryFormatter | 234 | 13x | 2867144 | 2598752 | 5465896 | 54.6590 | 9.95x |
|---|
| NewtonSoft.Json | 53 | 2.94x | 1444366 | 2969233 | 4413599 | 44.1360 | 8.03x |
|---|
| ProtoBuf.net | 18 | 1x | 384972 | 164404 | 549376 | 5.4938 | 1x |
|---|
| ServiceStack TypeSerializer | 32 | 1.78x | 653348 | 307542 | 960890 | 9.6089 | 1.75x |
|---|
| ServiceStack JsonSerializer | 38 | 2.11x | 1046754 | 387097 | 1433851 | 14.3385 | 2.61x |
Results of serializing and deserializing OrderDetailDto 100,000 times
* All times measured in ticks and payload size in bytes| Serializer | Payload size | Larger than best | Serialization | Deserialization | Total | Avg per iteration | Slower than best |
| Microsoft DataContractSerializer | 282 | 0x | 1806608 | 5763621 | 7570229 | 75.7023 | 0x |
|---|
| Microsoft JsonDataContractSerializer | 74 | 0x | 2249226 | 5408557 | 7657783 | 76.5778 | 0x |
|---|
| Microsoft BinaryFormatter | 315 | 0x | 4079307 | 3808086 | 7887393 | 78.8739 | 0x |
|---|
| NewtonSoft.Json | 94 | 0x | 2343149 | 6610405 | 8953554 | 89.5355 | 0x |
|---|
| ProtoBuf.net | 21 | 0x | 554688 | -1 | 554687 | 5.5469 | 0x |
|---|
| ServiceStack TypeSerializer | 64 | 0x | 1700140 | 1075569 | 2775709 | 27.7571 | 0x |
|---|
| ServiceStack JsonSerializer | 74 | 0x | 1315520 | 1023400 | 2338920 | 23.3892 | 0x |
Results of serializing and deserializing OrderDto 100,000 times
* All times measured in ticks and payload size in bytes| Serializer | Payload size | Larger than best | Serialization | Deserialization | Total | Avg per iteration | Slower than best |
| Microsoft DataContractSerializer | 615 | 5.69x | 3663831 | 9063394 | 12727225 | 127.2722 | 6.66x |
|---|
| Microsoft JsonDataContractSerializer | 366 | 3.39x | 7081820 | 14500374 | 21582194 | 215.8219 | 11.30x |
|---|
| Microsoft BinaryFormatter | 758 | 7.02x | 12201868 | 7103028 | 19304896 | 193.0490 | 10.11x |
|---|
| NewtonSoft.Json | 366 | 3.39x | 5431817 | 14133025 | 19564842 | 195.6484 | 10.24x |
|---|
| ProtoBuf.net | 108 | 1x | 851371 | 1058400 | 1909771 | 19.0977 | 1x |
|---|
| ServiceStack TypeSerializer | 253 | 2.34x | 3048129 | 2431096 | 5479225 | 54.7922 | 2.87x |
|---|
| ServiceStack JsonSerializer | 318 | 2.94x | 3232026 | 3612393 | 6844419 | 68.4442 | 3.58x |
Results of serializing and deserializing ProductDto 100,000 times
* All times measured in ticks and payload size in bytes| Serializer | Payload size | Larger than best | Serialization | Deserialization | Total | Avg per iteration | Slower than best |
| Microsoft DataContractSerializer | 452 | 11.3x | 2294773 | 7470820 | 9765593 | 97.6559 | 16.98x |
|---|
| Microsoft JsonDataContractSerializer | 187 | 4.68x | 3351720 | 10528520 | 13880240 | 138.8024 | 24.14x |
|---|
| Microsoft BinaryFormatter | 508 | 12.7x | 5538313 | 5253992 | 10792305 | 107.9230 | 18.77x |
|---|
| NewtonSoft.Json | 189 | 4.72x | 2907845 | 7718021 | 10625866 | 106.2587 | 18.48x |
|---|
| ProtoBuf.net | 40 | 1x | 429266 | 145701 | 574967 | 5.7497 | 1x |
|---|
| ServiceStack TypeSerializer | 163 | 4.08x | 1867707 | 2254170 | 4121877 | 41.2188 | 7.17x |
|---|
| ServiceStack JsonSerializer | 187 | 4.68x | 1966364 | 1977717 | 3944081 | 39.4408 | 6.86x |
Results of serializing and deserializing RegionDto 100,000 times
* All times measured in ticks and payload size in bytes| Serializer | Payload size | Larger than best | Serialization | Deserialization | Total | Avg per iteration | Slower than best |
| Microsoft DataContractSerializer | 209 | 19x | 1280511 | 3618303 | 4898814 | 48.9881 | 14.20x |
|---|
| Microsoft JsonDataContractSerializer | 38 | 3.45x | 1419046 | 4597709 | 6016755 | 60.1676 | 17.44x |
|---|
| Microsoft BinaryFormatter | 223 | 20.27x | 2739949 | 2545950 | 5285899 | 52.8590 | 15.33x |
|---|
| NewtonSoft.Json | 38 | 3.45x | 900106 | 2268116 | 3168222 | 31.6822 | 9.19x |
|---|
| ProtoBuf.net | 11 | 1x | 203831 | 141072 | 344903 | 3.4490 | 1x |
|---|
| ServiceStack TypeSerializer | 32 | 2.91x | 780021 | 285317 | 1065338 | 10.6534 | 3.09x |
|---|
| ServiceStack JsonSerializer | 38 | 3.45x | 590811 | 354929 | 945740 | 9.4574 | 2.74x |
Results of serializing and deserializing ShipperDto 100,000 times
* All times measured in ticks and payload size in bytes| Serializer | Payload size | Larger than best | Serialization | Deserialization | Total | Avg per iteration | Slower than best |
| Microsoft DataContractSerializer | 235 | 6.91x | 1268695 | 3390337 | 4659032 | 46.5903 | 6.18x |
|---|
| Microsoft JsonDataContractSerializer | 64 | 1.88x | 1567419 | 4765675 | 6333094 | 63.3309 | 8.41x |
|---|
| Microsoft BinaryFormatter | 269 | 7.91x | 3904361 | 3070608 | 6974969 | 69.7497 | 9.26x |
|---|
| NewtonSoft.Json | 64 | 1.88x | 1252863 | 3184918 | 4437781 | 44.3778 | 5.89x |
|---|
| ProtoBuf.net | 34 | 1x | 300857 | 452449 | 753306 | 7.5331 | 1x |
|---|
| ServiceStack TypeSerializer | 54 | 1.59x | 852103 | 435416 | 1287519 | 12.8752 | 1.71x |
|---|
| ServiceStack JsonSerializer | 64 | 1.88x | 1134439 | 619427 | 1753866 | 17.5387 | 2.33x |
Results of serializing and deserializing SupplierDto 100,000 times
* All times measured in ticks and payload size in bytes| Serializer | Payload size | Larger than best | Serialization | Deserialization | Total | Avg per iteration | Slower than best |
| Microsoft DataContractSerializer | 497 | 4.56x | 3999081 | 7172254 | 11171335 | 111.7134 | 6.95x |
|---|
| Microsoft JsonDataContractSerializer | 255 | 2.34x | 3694304 | 9449395 | 13143699 | 131.4370 | 8.17x |
|---|
| Microsoft BinaryFormatter | 611 | 5.61x | 6609649 | 5906828 | 12516477 | 125.1648 | 7.78x |
|---|
| NewtonSoft.Json | 255 | 2.34x | 2411479 | 7543959 | 9955438 | 99.5544 | 6.19x |
|---|
| ProtoBuf.net | 109 | 1x | 671590 | 936412 | 1608002 | 16.0800 | 1x |
|---|
| ServiceStack TypeSerializer | 180 | 1.65x | 1512646 | 1446982 | 2959628 | 29.5963 | 1.84x |
|---|
| ServiceStack JsonSerializer | 214 | 1.96x | 1633112 | 1552982 | 3186094 | 31.8609 | 1.98x |
Results of serializing and deserializing TerritoryDto 100,000 times
* All times measured in ticks and payload size in bytes| Serializer | Payload size | Larger than best | Serialization | Deserialization | Total | Avg per iteration | Slower than best |
| Microsoft DataContractSerializer | 248 | 13.05x | 1303596 | 4083763 | 5387359 | 53.8736 | 9.93x |
|---|
| Microsoft JsonDataContractSerializer | 61 | 3.21x | 1878404 | 4285144 | 6163548 | 61.6355 | 11.36x |
|---|
| Microsoft BinaryFormatter | 268 | 14.11x | 2939578 | 2974204 | 5913782 | 59.1378 | 10.90x |
|---|
| NewtonSoft.Json | 61 | 3.21x | 1661024 | 2612493 | 4273517 | 42.7352 | 7.88x |
|---|
| ProtoBuf.net | 19 | 1x | 225549 | 317098 | 542647 | 5.4265 | 1x |
|---|
| ServiceStack TypeSerializer | 51 | 2.68x | 865679 | 362045 | 1227724 | 12.2772 | 2.26x |
|---|
| ServiceStack JsonSerializer | 61 | 3.21x | 736611 | 505866 | 1242477 | 12.4248 | 2.29x |