Skip to content

Conversation

@bitfaster
Copy link
Owner

@bitfaster bitfaster commented Jan 29, 2026

Add a dump-asm skill to make it easy to generate baselines for branches and compare the assembly code. This PR adds 3 skills to enable this:

  • fast-bench: runs specified benchmark to generate asm files
  • split-asm: generate an asm.md file per benchmark method
  • dump-asm: generate asm.md files for benchmarks, and store them as baseline data in a directory based on the branch name

The benchmark jobs have been refactored to enable:

  • Running via shift+F5 and benchmark switcher, which runs .net48 and .net9.0
  • Running at command line with no runtime specified, runs .net48 and .net9.0
  • Running at command line with runtime specified, uses specified runtime (tested .net48, .net9.0, and .net48+.net9)

Example command line:

dotnet run -c Release --project BitFaster.Caching.Benchmarks --framework net9.0 -- --runtimes net48 net9.0 --filter *LruJustGetOrAdd* -j short --warmupCount 3 --iterationCount 5 -d --disasmDepth 5

Previously, it was not possible to run at the command line, and specify the runtime AND warmup/iteration count. Runtime would cause the whole bench suite to run, extending runtime from ~2 minutes to ~30 minutes.

@coveralls
Copy link

coveralls commented Jan 29, 2026

Coverage Status

coverage: 99.106% (+0.03%) from 99.072%
when pulling d6e0061 on users/alexpeck/skills
into 20f02a0 on main.

@bitfaster bitfaster changed the title Add skills Add skills to compare assembly code Jan 29, 2026
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.

3 participants