diff options
author | Andres Erbsen <andreser@mit.edu> | 2017-07-02 17:09:09 -0400 |
---|---|---|
committer | Andres Erbsen <andreser@mit.edu> | 2017-07-02 17:09:09 -0400 |
commit | d7ad9528319596298b80e450e5a2eb87610d2fcf (patch) | |
tree | 517a2de4683a867a706af0e3ee1e5f8ed164002c /measure.c | |
parent | 448af3b44af491738b83a6084161e414d6522cdf (diff) |
automate P256 integration
Diffstat (limited to 'measure.c')
-rw-r--r-- | measure.c | 18 |
1 files changed, 11 insertions, 7 deletions
@@ -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; } |