Skip to content

Commit eeb04e4

Browse files
authored
Merge pull request #307 from pq-code-package/tweak-bench
Adjust benchmarking to average cycle counts
2 parents 2bd00dc + 2715b0c commit eeb04e4

File tree

1 file changed

+19
-10
lines changed

1 file changed

+19
-10
lines changed

test/bench_mldsa.c

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212
#include "../mldsa/sign.h"
1313
#include "hal.h"
1414

15-
#define NWARMUP 10
16-
#define NITERATIONS 25
17-
#define NTESTS 250
15+
#define NWARMUP 3
16+
#define NITERATIONS 5
17+
#define NTESTS 1000
1818
#define MLEN 59
1919
#define CTXLEN 1
2020

@@ -35,11 +35,19 @@ static int cmp_uint64_t(const void *a, const void *b)
3535
return (int)((*((const uint64_t *)a)) - (*((const uint64_t *)b)));
3636
}
3737

38-
static void print_median(const char *txt, uint64_t cyc[NTESTS])
38+
static void print_avg(const char *txt, uint64_t cyc[NTESTS])
3939
{
40-
printf("%10s cycles = %" PRIu64 "\n", txt, cyc[NTESTS >> 1] / NITERATIONS);
40+
uint64_t avg = 0;
41+
int i;
42+
for (i = 0; i < NTESTS; i++)
43+
{
44+
avg += cyc[i];
45+
}
46+
avg /= (NTESTS * NITERATIONS);
47+
printf("%10s cycles (avg) = %" PRIu64 "\n", txt, avg);
4148
}
4249

50+
4351
static int percentiles[] = {1, 10, 20, 30, 40, 50, 60, 70, 80, 90, 99};
4452

4553
static void print_percentile_legend(void)
@@ -142,15 +150,16 @@ static int bench(void)
142150
CHECK(ret == 0);
143151
}
144152

153+
print_avg("keypair", cycles_kg);
154+
print_avg("sign", cycles_sign);
155+
print_avg("verify", cycles_verify);
156+
157+
printf("\n");
158+
145159
qsort(cycles_kg, NTESTS, sizeof(uint64_t), cmp_uint64_t);
146160
qsort(cycles_sign, NTESTS, sizeof(uint64_t), cmp_uint64_t);
147161
qsort(cycles_verify, NTESTS, sizeof(uint64_t), cmp_uint64_t);
148162

149-
print_median("keypair", cycles_kg);
150-
print_median("sign", cycles_sign);
151-
print_median("verify", cycles_verify);
152-
153-
printf("\n");
154163

155164
print_percentile_legend();
156165

0 commit comments

Comments
 (0)