Browse Source

kyber matrix generation bench

tags/v0.0.1
Henry Case 3 years ago
parent
commit
6e0b153ed3
1 changed files with 9 additions and 0 deletions
  1. +9
    -0
      test/bench/kyber.cc

+ 9
- 0
test/bench/kyber.cc View File

@@ -6,6 +6,11 @@
#include <benchmark/benchmark.h>
#include <benchmark/../../src/statistics.h>
#include <benchmark/../../src/cycleclock.h>
#include "kem/kyber/kyber512/avx2/polyvec.h"

extern "C" {
#include "kem/kyber/kyber512/avx2/indcpa.h"
}

auto cpucycle = [](benchmark::State &st, int64_t cycles) {
st.counters["CPU cycles: mean"] = benchmark::Counter(
@@ -14,9 +19,13 @@ auto cpucycle = [](benchmark::State &st, int64_t cycles) {

static void BenchKyberMatK2(benchmark::State &st) {
int64_t t, total = 0;
polyvec a[KYBER_K];
uint8_t seed[32];
for (auto _ : st) {
t = benchmark::cycleclock::Now();
PQCLEAN_KYBER512_AVX2_gen_matrix(a, seed, 0);
total += benchmark::cycleclock::Now() - t;
benchmark::DoNotOptimize(a);
}
cpucycle(st, total);
}


Loading…
Cancel
Save