Aller au contenu

BenchmarkDotNet

Contexte : BenchmarkDotNet est une puissante bibliothèque open source qui transforme vos méthodes en benchmarks, les exécute plusieurs fois et fournit des résultats statistiques (moyenne, erreur, écart type, allocations). Elle gère automatiquement l’échauffement, les itérations et les diagnostics mémoire. Pour l’utiliser, ajoutez le paquet NuGet BenchmarkDotNet et marquez les méthodes avec [Benchmark].

Fenêtre de terminal
dotnet add package BenchmarkDotNet
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Running;
using System;
public class MyBenchmarks
{
[Benchmark]
public int CalculateSum()
{
int sum = 0;
for (int i = 0; i < 1000; i++) sum += i;
return sum;
}
}
class Program
{
static void Main(string[] args)
{
var summary = BenchmarkRunner.Run<MyBenchmarks>();
}
}
Fenêtre de terminal
dotnet run -c Release
| Method | Mean | Error | StdDev |
|-------------- |---------:|---------:|---------:|
| CalculateSum | 0.524 us | 0.012 us | 0.011 us |
  • Compilez et exécutez en mode Release : dotnet run -c Release
  • N’attachez pas de débogueur (Ctrl+F5 dans VS).
  • BenchmarkDotNet exécutera chaque benchmark plusieurs fois pour des statistiques fiables.

Comparaison de sérialiseurs – Comparez System.Text.Json avec Newtonsoft.Json pour voir lequel est le plus rapide pour vos données.
Voir Guide de démarrage BenchmarkDotNet.