Skip to content

Improve benchmark suite for performance work - #1119

Open
lahma wants to merge 1 commit into
aaubry:masterfrom
lahma:perf/benchmark-suite
Open

Improve benchmark suite for performance work#1119
lahma wants to merge 1 commit into
aaubry:masterfrom
lahma:perf/benchmark-suite

Conversation

@lahma

@lahma lahma commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Improves the benchmark project so the performance work can be gated on real, reproducible numbers.

  • Removes SerializationBenchmarks' mismatched runtime-job attributes ([MediumRunJob(Net80/Net47)], which didn't match the project's target frameworks) and centralizes the config (MemoryDiagnoser) in Program.cs.
  • Adds realistic coverage over a heterogeneous typed graph (SampleModel): typed serialize / deserialize, untyped deserialize, and roundtrip (ObjectGraphBenchmarks), plus an anchor/alias benchmark (AliasBenchmarks).
  • Adds a steady-state profile driver mode for CPU sampling profilers.
  • Removes the unused saltern.yml.gz resource and dead imports.

Run: dotnet run -c Release --project YamlDotNet.Benchmark -f net10.0 -- --filter '*'

- Fix SerializationBenchmarks runtime jobs to match the project TFMs and add
  net8.0 to the benchmark target frameworks
- Centralize the config (MemoryDiagnoser) in Program.cs
- Add realistic coverage: heterogeneous typed serialize/deserialize/untyped/
  roundtrip (SampleModel/ObjectGraphBenchmarks) and an anchor/alias benchmark
- Add a steady-state profiling driver for CPU sampling profilers
- Remove the unused saltern.yml.gz resource and dead imports
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant