bench: add internal benchmark for secp256k1_fe_normalize_var

This commit is contained in:
Sebastian Falbesoner
2026-05-15 00:03:50 +02:00
parent b11340b3ce
commit 240578eef5

View File

@@ -194,6 +194,17 @@ static void bench_field_normalize(void* arg, int iters) {
}
}
static void bench_field_normalize_var(void* arg, int iters) {
int i;
bench_inv *data = (bench_inv*)arg;
/* Note that this benchmark measures the optimistic path. The worst-case path with the final
reduction is very unlikely to be needed, so this is representative of the common case. */
for (i = 0; i < iters; i++) {
secp256k1_fe_normalize_var(&data->fe[0]);
}
}
static void bench_field_normalize_weak(void* arg, int iters) {
int i;
bench_inv *data = (bench_inv*)arg;
@@ -421,6 +432,7 @@ int main(int argc, char **argv) {
if (d || have_flag(argc, argv, "field") || have_flag(argc, argv, "half")) run_benchmark("field_half", bench_field_half, bench_setup, NULL, &data, 10, iters*100);
if (d || have_flag(argc, argv, "field") || have_flag(argc, argv, "normalize")) run_benchmark("field_normalize", bench_field_normalize, bench_setup, NULL, &data, 10, iters*100);
if (d || have_flag(argc, argv, "field") || have_flag(argc, argv, "normalize")) run_benchmark("field_normalize_var", bench_field_normalize_var, bench_setup, NULL, &data, 10, iters*100);
if (d || have_flag(argc, argv, "field") || have_flag(argc, argv, "normalize")) run_benchmark("field_normalize_weak", bench_field_normalize_weak, bench_setup, NULL, &data, 10, iters*100);
if (d || have_flag(argc, argv, "field") || have_flag(argc, argv, "sqr")) run_benchmark("field_sqr", bench_field_sqr, bench_setup, NULL, &data, 10, iters*10);
if (d || have_flag(argc, argv, "field") || have_flag(argc, argv, "mul")) run_benchmark("field_mul", bench_field_mul, bench_setup, NULL, &data, 10, iters*10);