kyber512 benchmarks
This commit is contained in:
父節點
6e0b153ed3
當前提交
2e14f263b0
@ -10,6 +10,7 @@
|
||||
|
||||
extern "C" {
|
||||
#include "kem/kyber/kyber512/avx2/indcpa.h"
|
||||
#include "kem/kyber/kyber512/avx2/kem.h"
|
||||
}
|
||||
|
||||
auto cpucycle = [](benchmark::State &st, int64_t cycles) {
|
||||
@ -30,4 +31,53 @@ static void BenchKyberMatK2(benchmark::State &st) {
|
||||
cpucycle(st, total);
|
||||
}
|
||||
|
||||
static void BenchKyberKeygen(benchmark::State &st) {
|
||||
int64_t t, total = 0;
|
||||
uint8_t sk[1632];
|
||||
uint8_t pk[800];
|
||||
for (auto _ : st) {
|
||||
t = benchmark::cycleclock::Now();
|
||||
PQCLEAN_KYBER512_AVX2_crypto_kem_keypair(pk, sk);
|
||||
total += benchmark::cycleclock::Now() - t;
|
||||
benchmark::DoNotOptimize(pk);
|
||||
benchmark::DoNotOptimize(sk);
|
||||
}
|
||||
cpucycle(st, total);
|
||||
}
|
||||
|
||||
static void BenchKyberEncaps(benchmark::State &st) {
|
||||
int64_t t, total = 0;
|
||||
uint8_t sk[1632];
|
||||
uint8_t pk[800];
|
||||
uint8_t ct[768];
|
||||
uint8_t ss[32];
|
||||
PQCLEAN_KYBER512_AVX2_crypto_kem_keypair(pk, sk);
|
||||
for (auto _ : st) {
|
||||
t = benchmark::cycleclock::Now();
|
||||
PQCLEAN_KYBER512_AVX2_crypto_kem_enc(ss, ct, pk);
|
||||
total += benchmark::cycleclock::Now() - t;
|
||||
benchmark::DoNotOptimize(pk);
|
||||
}
|
||||
cpucycle(st, total);
|
||||
}
|
||||
|
||||
static void BenchKyberDecaps(benchmark::State &st) {
|
||||
int64_t t, total = 0;
|
||||
uint8_t sk[1632];
|
||||
uint8_t pk[800];
|
||||
uint8_t ct[768];
|
||||
uint8_t ss[32];
|
||||
PQCLEAN_KYBER512_AVX2_crypto_kem_keypair(pk, sk);
|
||||
PQCLEAN_KYBER512_AVX2_crypto_kem_enc(ss, ct, pk);
|
||||
for (auto _ : st) {
|
||||
t = benchmark::cycleclock::Now();
|
||||
PQCLEAN_KYBER512_AVX2_crypto_kem_dec(ss, ct, sk);
|
||||
total += benchmark::cycleclock::Now() - t;
|
||||
benchmark::DoNotOptimize(sk);
|
||||
}
|
||||
cpucycle(st, total);
|
||||
}
|
||||
BENCHMARK(BenchKyberMatK2);
|
||||
BENCHMARK(BenchKyberKeygen);
|
||||
BENCHMARK(BenchKyberEncaps);
|
||||
BENCHMARK(BenchKyberDecaps);
|
||||
|
載入中…
新增問題並參考
Block a user