cloudwego / cloudwego/sonic-rs
[GLD Serializer Benchmark] Rust sonic-rs 0.3.17 — spec compliance misses
- Dominant language
- Rust
- Stars
- 920
- Forks
- 68
- Avg merge
- 2h 5m
- Merged PRs (30d)
- 1
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 **sonic-rs 0.3.17** on **Rust**. 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 **Rust** with **sonic-rs** 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/rust/sonic-rs
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/rust/sonic-rs/json` (or `yaml`, `cbor`, …).
## Benchmark timings (same pin)
The same suite also publishes encode / decode time and payload size for this library on Rust:
https://leo-gan.github.io/GLD.SerializerBenchmark/dashboard/?lang=rust&data=document@n=1&mode=bytes#dashboard
Details table (this library pre-selected):
https://leo-gan.github.io/GLD.SerializerBenchmark/dashboard/?lang=rust&ser=sonic-rs&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 **sonic-rs**. 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
Research direction
Start with the sonic-rs Compliance view linked in the issue and open each scored FAIL cell to read its cited specification paragraph. Compare each miss with the library's behavior; done means fixing genuine encoder or decoder bugs, or documenting intentional defaults in the issue.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100