diff --git a/ChaosBenches/Mac/HmacBenches.cpp b/ChaosBenches/Mac/HmacBenches.cpp index cb118b7..74dc1ab 100644 --- a/ChaosBenches/Mac/HmacBenches.cpp +++ b/ChaosBenches/Mac/HmacBenches.cpp @@ -85,3 +85,19 @@ static void HmacMd5_CreateComputeDeleteBench(benchmark::State & state) } BENCHMARK(HmacMd5_CreateComputeDeleteBench); + +static void HmacMd5_ReuseBench(benchmark::State & state) +{ + Hmac hmac; + + for (auto _ : state) + { + hmac.Rekey(KEY_BEGIN, KEY_END); + hmac.Update(DATA_BEGIN, DATA_END); + Md5Hash result = hmac.Finish(); + + benchmark::DoNotOptimize(result); + } +} + +BENCHMARK(HmacMd5_ReuseBench);