Описание тега 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