Writing

Measuring .NET honestly

Deep dives into NBenchmark - adaptive measurement, honest statistics, outlier handling, and the traps that make benchmarking .NET harder than it looks.

22 posts5 partsRSS
/
4 min read

When the built-ins are not enough

Extending NBenchmark with custom reporters, outlier detectors, and OpenTelemetry integration for advanced observability.

5 min read

When the numbers look wrong

A field guide to diagnosing impossible benchmark results, from clock resolution issues to state contamination.

4 min read

Fail the build when it gets slower

Turning performance measurements into enforceable gates using CLI regression limits and test-framework integrations.

4 min read

Cutting the noise at its source

Reducing environmental interference using CPU affinity, process priority, and thread control for maximum measurement precision.

4 min read

Benchmarks that take arguments

Measuring performance as a function of input using parameterized benchmarks and categories to organize scaling sweeps.

5 min read

Output that travels

Moving beyond the terminal with JSON, Markdown, and CSV reporters to make performance data shareable and archivable.

8 min read

Counting what the GC sees

How NBenchmark measures allocations and manages GC behavior to balance real-world noise with measurement precision.

4 min read

When your code outruns the clock

Learn how NBenchmark uses ops-per-sample calibration to accurately measure sub-microsecond operations that finish faster than the system clock can notice.

Page 1 of 2