From d7ad9528319596298b80e450e5a2eb87610d2fcf Mon Sep 17 00:00:00 2001 From: Andres Erbsen Date: Sun, 2 Jul 2017 17:09:09 -0400 Subject: automate P256 integration --- measure.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'measure.c') diff --git a/measure.c b/measure.c index 91a4aa82a..ea827f618 100644 --- a/measure.c +++ b/measure.c @@ -85,24 +85,28 @@ void limits() void UUT(unsigned char*); -void measure(void) +void measure(int n) { unsigned char *buf = aligned_alloc(64, 1024); - static long long cycles[TIMINGS + 1]; + long long* cycles = calloc(n + 1, sizeof(long long)); - for (int i = 0;i <= TIMINGS;++i) { + for (int i = 0;i <= n;++i) { cycles[i] = cpucycles(); UUT(buf); } - for (int i = 0;i < TIMINGS;++i) cycles[i] = cycles[i + 1] - cycles[i]; - for (int i = 0;i < TIMINGS;++i) printf("%lld\n", cycles[i]); + for (int i = 0;i < n;++i) cycles[i] = cycles[i + 1] - cycles[i]; + for (int i = 0;i < n;++i) printf("%lld\n", cycles[i]); __asm__ __volatile__("" :: "m" (buf)); // do not optimize buf away + free(cycles); } -int main() +int main(int argc, char** argv) { + int n = 0; + if (argc != 2) return 111; + sscanf(argv[1], "%d", &n); limits(); - measure(); + measure(n); return 0; } -- cgit v1.2.3