Описание тега benchmarkdotnet

BenchmarkDotNet - это мощная библиотека.NET для измерения абсолютной и относительной производительности кода.

BenchmarkDotNet имеет открытый исходный код и доступен на GitHub по лицензии MIT. Он распространяется как пакет Nuget.

BenchmarkDotNet выполняет измеряемый метод несколько раз и накапливает статистику по времени выполнения метода с возможностью различать время первого (разогрева) выполнения, которое может включать JIT-компиляцию и устойчивую производительность после JIT-компиляции кода.

Пример отчета от BenchmarkDotNet, сравнивающего производительность двух альтернативных алгоритмов (в данном случае криптографических хеш-сумм) - MD5 и SHA5:

BenchmarkDotNet=v0.9.0.0
OS=Microsoft Windows NT 6.2.9200.0
Processor=Intel(R) Core(TM) i7-4810MQ CPU @ 2.80GHz, ProcessorCount=8
Frequency=2728067 ticks, Resolution=366.5599 ns
HostCLR=MS.NET 4.0.30319.42000, Arch=64-bit RELEASE [RyuJIT]


Type=Md5VsSha256  Mode=Throughput
 Method |      Median |    StdDev
------- |------------ |----------
    Md5 |  21.2912 us | 0.4373 us
 Sha256 | 107.4124 us | 1.8339 us