一键导入
split-asm
// Split BenchmarkDotNet assembly markdown files into individual files per benchmark method using splitasm. Use to break one big assembly code file per benchmark into one file per benchmark method.
// Split BenchmarkDotNet assembly markdown files into individual files per benchmark method using splitasm. Use to break one big assembly code file per benchmark into one file per benchmark method.
| name | split-asm |
| description | Split BenchmarkDotNet assembly markdown files into individual files per benchmark method using splitasm. Use to break one big assembly code file per benchmark into one file per benchmark method. |
/split-asm [<ResultsPath>]
$ARGUMENTS - Optional path to the BenchmarkDotNet results directory. Defaults to BenchmarkDotNet.Artifacts/results in the current repository.Run splitasm to break down BenchmarkDotNet assembly markdown files into a single file per benchmark method. This enables using file diffs to compare how code changes affect disassembler output.
Parse the arguments: the optional first argument is the path to the results directory.
If a path is specified, execute:
dotnet run --project C:/repo/splitasm/splitasm -- <ResultsPath>
If no path is specified, default to the standard BenchmarkDotNet output location:
dotnet run --project C:/repo/splitasm/splitasm -- BenchmarkDotNet.Artifacts/results
The tool produces:
Output is organized hierarchically by target benchmark, then by target framework.
The splitasm repository should be cloned to C:/repo/splitasm. If not available, clone from https://github.com/bitfaster/splitasm:
cd C:/repo && git clone https://github.com/bitfaster/splitasm.git
Run a benchmark with minimal iterations to generate assembly code via BenchmarkDotNet's DisassemblyDiagnoser. Use to generate one big assembly code file per benchmark.
Generate assembly for code exercised by a benchmark and organize output into a baseline directory named after the current git branch. Use to generate assembly code that can be diff'd between branches.