[GLD Serializer Benchmark] C++ nlohmann_json 3.12.0 — spec compliance misses
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 50.6k
- Forks
- 7.5k
- Avg merge
- 4d 17h
- Merged PRs (30d)
- 58
Description
Hi — this is a friendly report from the GLD Serializer Benchmark, an independent multi-language suite that times serializers and checks them against the published format specs (RFC 8259, YAML 1.2, …).
We measured nlohmann_json 3.12.0 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 nlohmann_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/cpp/nlohmann_json
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/cpp/nlohmann_json/json (or yaml, cbor, …).
Benchmark timings (same pin)
The same suite also publishes encode / decode time and payload size for this library on C++:
Details table (this library pre-selected):
That page is the live L1 snapshot, not a claim that one library is “best.”
Ask
Please look at the Compliance view for nlohmann_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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the C++ nlohmann_json compliance heatmap and open each scored FAIL cell to read its case and cited specification paragraph. Use the compliance and reading-results pages to determine whether each miss reflects a real behavior issue or an intentional default. Done means the reported misses are classified, with any confirmed bug addressed and any intentional behavior explained in the issue.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 38/100