Table of Contents

Benchmark Results

This directory contains benchmark results generated by BenchmarkDotNet.

Layout

Each checked-in benchmark run lives in its own platform directory:

  • windows-x64-amd-ryzen-5-7600x/ for the current published Threading baseline

The platform identifier format is:

  • <os>-<architecture>-<cpu-slug>

Updating Benchmark Results

To update benchmark results after a local run:

  1. Run the benchmarks using the test project:

    cd tests\Threading
    dotnet run -c Release -- --filter "*Benchmark*"
    
  2. Execute the update script from the repository root:

    .\scripts\update-benchmark-docs.ps1 -Project Threading
    
  3. If you need to override the derived folder name:

    .\scripts\update-benchmark-docs.ps1 -Project Threading -PlatformId windows-x64-amd-ryzen-5-7600x
    

The script:

  • copies the latest benchmark markdown files from tests/Threading/BenchmarkDotNet.Artifacts/results/
  • extracts the machine specification into a platform-local machine-spec.md
  • strips the duplicated machine specification from the individual result files
  • publishes the stripped files under docfx/packages/threading/benchmarks/<platform-id>/

Important Notes

  • Benchmarks should be run on a local machine with minimal background load
  • Results are machine-specific and may vary between systems
  • The benchmark include paths in the docs now point at explicit platform folders
  • When adding a second published host, keep the old folder and add the new one instead of overwriting it