CLR Serializer Benchmark Suite
We will publish test runs here
We are separating WARMUP test cases with subsequent tests. While comparing results,
Some serializers just do not work - they even crash the process without any exception (looks like unmanaged code problem). MsgShark does it sometimes. See the ABORTED list after the main report.
The "Typical Person" is a linear class without any child references. Here is the code
What we wanted to emulate is a "typical person data", like name, addresses some phones and flags.
Typical Person Benchmark Charts
Typical Person Benchmark Table
Tested Serializers Information
In the batching mode we keep writing may instances into the same stream as a "batch".
Imagine a socket where the server keeps pushing data and client keeps receiving. That simple. The stream does not end.
The problem is: only Protobuf, NFX Slim and MS Binary Formatter can read from stream one chunk after another, all others fail as they keep reading stream till the end.
Here is the code
Batching Benchmark Charts
Batching Benchmark Table
We are creating a set of conferences, participants etc.. and entangle them to the hell out...
Protobuf works in a "IsReference" mode, as provided by Marc's lib. Notice the sizes. Keep in mind that only Ms Binary Formatter and NFX Slim understand true polymorphism,
so this test is skewed towards non-clr-native serializers.
Here is the code
Object Graph Benchmark Charts
Object Graph Benchmark Table
We have spent some time reproducing some government-required EDI X12 data segments....gr.gr..gr..gr.. I am sure everyone loves this stuff:):)
What can you do? This is life, EDI is used in many places....for another 100 years?
... so for those who know what HIPA EDI 837 Health Care Claim 837 and Electronic Remittance Advice 835 are...
Here is the code
EDI 835 Benchmark Charts
EDI 835 Benchmark Table