Home
BasicTest.cs
RegistrationProvider.cs
RunSettingsBuilder.cs
[Sailfish]
public class AMostBasicTest
{
[SailfishVariable(true, 10, 100, 1000)]
public int N { get; set; }
[SailfishMethod]
public void Method() => Thread.Sleep(N);
}

Welcome!

Sailfish is a .NET library that you can use to write performance tests that are simple, consistent & familiar.

This library was built to support and inspire the incorporation of performance testing into test driven development as well as the creation of production ready performance monitoring systems.

Status

Build Pipeline v3.0 Nuget Quality Gate Status codecov

What's New

New: Environment Health Check

Quickly validates your benchmarking environment and emits a 0–100 health score with actionable recommendations. Now appears in INF/DBG logs and appended to each test’s Output window. Learn more →

New: Adaptive Sampling

Sailfish can now automatically stop sampling when results are statistically stable. Cut CI time while preserving rigor. Learn more →

Getting Started

Install and run your first test

Quick Start

Copy-paste minimal setup

Outputs

Markdown & CSV format guides

Method Comparisons

Group methods and compare statistically

Adaptive Sampling

Stop when results are stable—faster CI with statistical rigor

Why Sailfish

Statistical Rigor

Confidence intervals, outlier handling, adaptive sampling

Extensible

Plug in providers and extend behaviors for your needs

Production Friendly

Outputs you can ship: Markdown and CSV for pipelines