Results of Northwind database rows serialization benchmarks run at 06/02/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 Database1,000,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
SerializerPayload sizeLarger than bestSerializationDeserializationTotalAvg per iterationSlower than best
Microsoft DataContractSerializer40974.68x235392060643889088879281148879.28116.72x
Microsoft JsonDataContractSerializer19582.24x40001057593221207113322226461332.222610.18x
Microsoft BinaryFormatter49275.62x62228886856307969811853685661185.36869.06x
NewtonSoft.Json20142.30x30386539676320625410670716501067.07168.15x
ProtoBuf.net8761x6448071966410737130891456130.89151x
ServiceStack TypeSerializer15601.78x15243551298672475251107987251.10801.92x

Results of serializing and deserializing CategoryDto 1,000,000 times

* All times measured in ticks and payload size in bytes
SerializerPayload sizeLarger than bestSerializationDeserializationTotalAvg per iterationSlower than best
Microsoft DataContractSerializer2754.74x16160260475423936370265363.70277.49x
Microsoft JsonDataContractSerializer951.64x26934050583390758527312585.273110.03x
Microsoft BinaryFormatter3295.67x4930048853850072103150560103.150612.13x
NewtonSoft.Json1101.90x22923190477641197068730970.68738.31x
ProtoBuf.net581x4325223417825485034778.50351x
ServiceStack TypeSerializer871.5x944770445361101398381413.98381.64x

Results of serializing and deserializing CustomerDto 1,000,000 times

* All times measured in ticks and payload size in bytes
SerializerPayload sizeLarger than bestSerializationDeserializationTotalAvg per iterationSlower than best
Microsoft DataContractSerializer4823.74x25232557719622599719481697.19485.47x
Microsoft JsonDataContractSerializer2561.98x4254944995751507138300956138.30107.78x
Microsoft BinaryFormatter6354.92x7375024364728680138478923138.47897.79x
NewtonSoft.Json2712.10x3618046569314105105494570105.49465.94x
ProtoBuf.net1291x823154795383341776988117.76991x
ServiceStack TypeSerializer2021.57x12642376118469532448932924.48931.38x

Results of serializing and deserializing EmployeeDto 1,000,000 times

* All times measured in ticks and payload size in bytes
SerializerPayload sizeLarger than bestSerializationDeserializationTotalAvg per iterationSlower than best
Microsoft DataContractSerializer8512.43x4390604695134468139040514139.04054.17x
Microsoft JsonDataContractSerializer5981.71x71007035178911043249918078249.91817.50x
Microsoft BinaryFormatter10923.12x12691939798248433225167830225.16786.76x
NewtonSoft.Json6071.73x64459717169106871233566588233.56667.01x
ProtoBuf.net3501x14447354188746663332202033.32201x
ServiceStack TypeSerializer4951.41x33564303236332185719752157.19751.72x

Results of serializing and deserializing EmployeeTerritoryDto 1,000,000 times

* All times measured in ticks and payload size in bytes
SerializerPayload sizeLarger than bestSerializationDeserializationTotalAvg per iterationSlower than best
Microsoft DataContractSerializer23312.94x14264657437776605804231758.04239.89x
Microsoft JsonDataContractSerializer382.11x26887001523285927921559379.215613.50x
Microsoft BinaryFormatter23413x30108615379760906808470568.084711.60x
NewtonSoft.Json532.94x17338720336357895097450950.97458.69x
ProtoBuf.net181x4120658174803758686955.86871x
ServiceStack TypeSerializer432.39x746590235364201100232211.00231.87x

Results of serializing and deserializing OrderDetailDto 1,000,000 times

* All times measured in ticks and payload size in bytes
SerializerPayload sizeLarger than bestSerializationDeserializationTotalAvg per iterationSlower than best
Microsoft DataContractSerializer2820x19826349567006357652698476.52700x
Microsoft JsonDataContractSerializer740x3551103769378237104889274104.88930x
Microsoft BinaryFormatter3150x5123602660907981112144007112.14400x
NewtonSoft.Json940x29117198690462449816344298.16340x
ProtoBuf.net210x5420780-154207795.42080x
ServiceStack TypeSerializer760x1393173579877542191948921.91950x

Results of serializing and deserializing OrderDto 1,000,000 times

* All times measured in ticks and payload size in bytes
SerializerPayload sizeLarger than bestSerializationDeserializationTotalAvg per iterationSlower than best
Microsoft DataContractSerializer6155.69x3512500791945790127070797127.07086.09x
Microsoft JsonDataContractSerializer3663.39x71350399157007149228357548228.357510.95x
Microsoft BinaryFormatter7587.02x11716530879038755196204063196.20419.41x
NewtonSoft.Json3663.39x59050825160823009219873834219.873810.54x
ProtoBuf.net1081x9367968114922202086018820.86021x
ServiceStack TypeSerializer2532.34x30355938200694945042543250.42542.42x

Results of serializing and deserializing ProductDto 1,000,000 times

* All times measured in ticks and payload size in bytes
SerializerPayload sizeLarger than bestSerializationDeserializationTotalAvg per iterationSlower than best
Microsoft DataContractSerializer45211.3x23924837729263159685115296.851213.06x
Microsoft JsonDataContractSerializer1874.68x39682314104537793144220107144.220119.44x
Microsoft BinaryFormatter50812.7x5824614459860261118106405118.106415.92x
NewtonSoft.Json1894.72x32773851101394174134168025134.168018.09x
ProtoBuf.net401x5465528195213174176597.41771x
ServiceStack TypeSerializer1634.08x16336833131719932950882629.50883.98x

Results of serializing and deserializing RegionDto 1,000,000 times

* All times measured in ticks and payload size in bytes
SerializerPayload sizeLarger than bestSerializationDeserializationTotalAvg per iterationSlower than best
Microsoft DataContractSerializer20919x14149955414995875564954255.649510.60x
Microsoft JsonDataContractSerializer383.45x24827819557331178056093680.560915.35x
Microsoft BinaryFormatter22320.27x29531323321387276167005061.670011.75x
NewtonSoft.Json383.45x12122436315009434362337943.62348.31x
ProtoBuf.net111x3210786203735852481445.24811x
ServiceStack TypeSerializer322.91x862604526925191131856411.31862.16x

Results of serializing and deserializing ShipperDto 1,000,000 times

* All times measured in ticks and payload size in bytes
SerializerPayload sizeLarger than bestSerializationDeserializationTotalAvg per iterationSlower than best
Microsoft DataContractSerializer2356.91x15807205419214155772862057.72867.25x
Microsoft JsonDataContractSerializer641.88x26255785602769768653276186.532810.87x
Microsoft BinaryFormatter2697.91x34263023360621027032512570.32518.83x
NewtonSoft.Json641.88x14487013355999115008692450.08696.29x
ProtoBuf.net341x3916942404423679611787.96121x
ServiceStack TypeSerializer541.59x1018911639754041416452014.16451.78x

Results of serializing and deserializing SupplierDto 1,000,000 times

* All times measured in ticks and payload size in bytes
SerializerPayload sizeLarger than bestSerializationDeserializationTotalAvg per iterationSlower than best
Microsoft DataContractSerializer4974.56x2955034383008775112559118112.55916.77x
Microsoft JsonDataContractSerializer2552.34x43478662104497116147975778147.97588.90x
Microsoft BinaryFormatter6115.61x6833746863486213131823681131.82377.93x
NewtonSoft.Json2552.34x3072483075665504106390334106.39036.40x
ProtoBuf.net1091x761871990054801662419916.62421x
ServiceStack TypeSerializer1801.65x14796441115208422631728326.31731.58x

Results of serializing and deserializing TerritoryDto 1,000,000 times

* All times measured in ticks and payload size in bytes
SerializerPayload sizeLarger than bestSerializationDeserializationTotalAvg per iterationSlower than best
Microsoft DataContractSerializer24813.05x17271193541704267144161971.44169.77x
Microsoft JsonDataContractSerializer613.21x27038061648297039186776491.867812.56x
Microsoft BinaryFormatter26814.11x34666859376903657235722472.35729.89x
NewtonSoft.Json613.21x13804349384018295220617852.20627.14x
ProtoBuf.net191x3775994354002173160157.31601x
ServiceStack TypeSerializer512.68x901085436895221270037612.70041.74x