C# · Avançado · Inglês · Técnico
BenchmarkDotNet
Biblioteca de microbenchmarks para .NET que cuida de aquecimento, repetições e estatísticas. Com o atributo [Benchmark] compara implementações e mede tempo e alocações com [MemoryDiagnoser].
Onde usar
Aparece quando alguém afirma que uma versão é mais rápida: em vez de medir com Stopwatch, rode o benchmark em Release com BenchmarkRunner.Run. Ele mostra média, desvio e bytes alocados por operação.
Em código
using BenchmarkDotNet.Attributes;
[MemoryDiagnoser]
public class Soma
{
int[] v = [.. Enumerable.Range(0, 99)];
[Benchmark] public int Linq() => v.Sum();
}Exemplos
Don't guess, measure it with BenchmarkDotNet.
Não adivinhe, meça com o BenchmarkDotNet.
Run the benchmark in Release mode.
Rode o benchmark em modo Release.
Cuidado
Não rode em Debug: o BenchmarkDotNet avisa que o resultado é inválido.