dump-asm

Generate and organize BenchmarkDotNet assembly outputs into branch-scoped baselines.

604|41|Updated Jun 11, 2020
One-click install
npx skills add https://github.com/bitfaster/BitFaster.Caching --skill dump-asm
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dump-asm
Source: https://github.com/bitfaster/BitFaster.Caching/tree/main/.claude/skills/dump-asm
Command: npx skills add https://github.com/bitfaster/BitFaster.Caching --skill dump-asm

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill automates the generation and organization of benchmark assembly outputs for code exercised by benchmarks, enabling easy diffing and comparison across branches.

Core Features & Use Cases

  • Automated assembly generation: orchestrates BenchmarkDotNet runs to produce per-benchmark assembly output across runtimes.
  • Assembly management: splits and preserves per-method assembly files for easy comparison.
  • Baseline organization: creates branch-scoped baselines named after the current git branch and short commit.
  • Use Case: Compare performance-related code changes by diffing assembly outputs between branches.

Quick Start

Use the dump-asm skill with a BenchmarkName and optional runtimes, e.g. /dump-asm LruJustGetOrAdd net6.0 net7.0. The skill will then run BenchmarkDotNet artifacts, split the results, and organize them under a baseline directory named after your sanitized branch and commit.

Frequently Asked Questions about dump-asm

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I generate and organize benchmark assembly outputs for .NET performance analysis?

Benchmark assembly outputs are generated by running BenchmarkDotNet across specified runtimes, then splitting and organizing per-method assembly files into a normalized baseline directory named after the sanitized git branch and short commit.

Can I compare assembly outputs across different .NET branches using BenchmarkDotNet?

Yes, you can compare code changes by diffing assembly outputs between branches. The skill creates branch-scoped baselines from BenchmarkDotNet artifacts, organizing per-method files for direct comparison across different runtimes.

How does organizing assembly baselines by git branch and commit work?

Assembly baselines are organized by sanitizing the current git branch name and appending the short commit hash to create a normalized directory structure, preserving per-method assembly files for easy diffing and comparison.

Do I need BenchmarkDotNet artifacts to parse and split per-method assembly files?

Yes, BenchmarkDotNet artifacts are required as input. The skill parses these artifacts to extract, split, and structure per-method assembly outputs into a normalized baseline directory for branch-scoped comparison.

What's the best way to automate BenchmarkDotNet runs to produce per-benchmark assembly across runtimes?

Automate BenchmarkDotNet runs by invoking the skill with a benchmark name and optional runtimes like net6.0 or net7.0. It orchestrates the runs, splits results, and organizes outputs under a branch-scoped baseline directory.

Why are my benchmark assembly outputs not structured for easy diffing between branches?

Without automated organization, per-method assembly files from BenchmarkDotNet runs lack a normalized structure. This skill splits and structures them into branch-scoped baselines named after the sanitized git branch and short commit for direct comparison.