perf: close the v0.7 regressions on JSON models, XRPC writes, Jetstream and CAR parsing #190
Labels
No labels
breaking-change
bug
documentation
duplicate
enhancement
good first issue
help wanted
performance
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Grandiras/ATProto.NET#190
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Part of the v0.7.0 update cycle (tracking #141). The pre-release benchmark compares v0.6.0 (
7f672c0) with main (e7f9e61). It uses BenchmarkDotNet 0.15.8 on .NET 10.0.12, AMD Ryzen 5 7600X, in-process. The DAG-CBOR, LtHash, MST and identifier paths got much faster, but five paths regressed:JsonBenchmarks.DeserializeGetTimelineResponse(50 posts)XrpcBenchmarks.XrpcCreateRecordJetstreamBenchmarks.ParseJetstreamCommitEventJsonBenchmarks.SerializePostRecordCarBenchmarks.ParseSynthetic1000BlockCar/ParseCommitCarThese most likely come from this cycle's correctness features:
AtDatetimeconverters, which validate every value;$type;[JsonExtensionData]on every model;Those features stay. Their cost has to come down.
Goal: each regressed benchmark is at or better than v0.6.0, or within ~5% with the reason documented, and none of the improved benchmarks gets worse. Behaviour must not change: the drift, convention and interop tests all pass.