What problem does it solve? Writing correct BenchmarkDotNet benchmarks is error-prone: outdated assumptions about job configuration, runtime comparison, and execution defaults silently produce misleading measurements. This Skill provides verified, current guidance for designing, configuring, running, and comparing .NET microbenchmarks so results are trustworthy. ## Core Features & Use Cases - Benchmark authoring guidance: Covers dead code elimination, constant folding, setup/cleanup patterns, parameterization ([Params], [Arguments], [GenericTypeArguments]), async benchmarks, and deferred execution pitfalls. - Comparison strategies: Side-by-side methods, runtime comparison (net8.0 vs net9.0), NuGet package version comparison, saved-DLL baselines, GC/JIT configuration comparison, and input-scale analysis with ratio columns. - Execution and cost control: Job presets (Dry, Short, Default, Medium, Long), CLI filtering, output redirection, and case-count estimation to keep benchmark runs within time budgets. - Diagnostics and export: MemoryDiagnoser, DisassemblyDiagnoser, EventPipeProfiler, hardware counters, statistical columns, and JSON/CSV/Markdown exporters. - Use Case: A developer wants to verify that a new parsing implementation is faster than the old one. The Skill guides creating a standalone benchmark project, marking a baseline method, validating with a Dry run, and producing a side-by-side ratio table. ## Quick Start Ask the AI to create a BenchmarkDotNet benchmark comparing two implementations of a .NET method and run it with a Dry job to validate before measuring.