From 128b5406ccfdf471d8d0bc7d964d2b4e24acefd7 Mon Sep 17 00:00:00 2001 From: Kris Kwiatkowski Date: Sun, 25 Apr 2021 22:23:54 +0100 Subject: [PATCH] Add bench for rejection sampling --- test/bench/kyber.cc | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/test/bench/kyber.cc b/test/bench/kyber.cc index d9ab6ec5..c571915f 100644 --- a/test/bench/kyber.cc +++ b/test/bench/kyber.cc @@ -10,6 +10,7 @@ extern "C" { #include "kem/kyber/kyber512/avx2/indcpa.h" #include "kem/kyber/kyber512/avx2/kem.h" + #include "kem/kyber/kyber512/avx2/rejsample.h" } auto cpucycle = [](benchmark::State &st, int64_t cycles) { @@ -30,6 +31,19 @@ static void BenchKyberMatK2(benchmark::State &st) { cpucycle(st, total); } +static void BenchKyberRejSampling(benchmark::State &st) { + int64_t t, total = 0; + int16_t a[256]; + uint8_t seed[168*3]; + for (auto _ : st) { + t = benchmark::cycleclock::Now(); + PQCLEAN_KYBER512_AVX2_rej_uniform_avx(a, seed); + total += benchmark::cycleclock::Now() - t; + benchmark::DoNotOptimize(a); + } + cpucycle(st, total); +} + static void BenchKyberKeygen(benchmark::State &st) { int64_t t, total = 0; uint8_t sk[1632]; @@ -77,6 +91,7 @@ static void BenchKyberDecaps(benchmark::State &st) { cpucycle(st, total); } BENCHMARK(BenchKyberMatK2); +BENCHMARK(BenchKyberRejSampling); BENCHMARK(BenchKyberKeygen); BENCHMARK(BenchKyberEncaps); BENCHMARK(BenchKyberDecaps);