dotnet / dotnet/runtime

[GLD Serializer Benchmark] C# MS DataContract Json .NET 8.0.28 — spec compliance misses

Closed
#133,919 1 comment 0 reactions 0 assignees View on GitHub
area-Serialization untriaged
Dominant language
C#
Stars
18.3k
Forks
5.6k
PR merge metrics
PR metrics pending

Description

Hi — this is a friendly report from the [GLD Serializer Benchmark](https://github.com/leo-gan/GLD.SerializerBenchmark), an independent multi-language suite that times serializers **and** checks them against the published format specs (RFC 8259, YAML 1.2, …).

We measured **MS DataContract Json .NET 8.0.28** on **C#**. The suite recorded spec-profile misses for this pin. The catalog is **report-only**: a miss is not a CI failure, and some cases are older or stricter profiles (for example RFC 4627 vs RFC 8259) rather than a crash.

## Compliance results (please start here)

This link opens the live heatmap on **C#** with **MS DataContract Json** already selected (All standards). Click a scored cell for each FAIL and the cited spec paragraph:

https://leo-gan.github.io/GLD.SerializerBenchmark/dashboard/#compliance/csharp/MS%20DataContract%20Json

How the catalog is built, and how to read a FAIL line:

- https://leo-gan.github.io/GLD.SerializerBenchmark/compliance/
- https://leo-gan.github.io/GLD.SerializerBenchmark/compliance/reading-results/

I am not pasting the case list here so you can use the Dashboard (filters, heatmap, and spec links) rather than a static dump.

Optional: one standard family only — `#compliance/csharp/MS%20DataContract%20Json/json` (or `yaml`, `cbor`, …).

## Benchmark timings (same pin)

The same suite also publishes encode / decode time and payload size for this library on C#:

https://leo-gan.github.io/GLD.SerializerBenchmark/dashboard/?lang=csharp&data=document@n=1&mode=bytes#dashboard

Details table (this library pre-selected):

https://leo-gan.github.io/GLD.SerializerBenchmark/dashboard/?lang=csharp&ser=MS%20DataContract%20Json&data=document@n=1&mode=bytes#detailed-analytics

That page is the live L1 snapshot, not a claim that one library is “best.”

## Ask

Please look at the Compliance view for **MS DataContract Json**. If a miss is a real decoder/encoder bug you want to fix, great. If it is an intentional default (accepting NaN, YAML 1.1 bools, …), a short note here is enough — we will keep the catalog as-is unless the library’s documented contract changes.

Thanks for the library.

Contributor guide

Open the contributing guide

Research direction

Start with the Compliance view for MS DataContract Json and inspect each FAIL cell and its cited specification paragraph. Compare each reported behavior with the library's documented contract, then determine whether it is a real encoder or decoder bug or an intentional default; the issue names no repository files or tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.