aboutsummaryrefslogtreecommitdiff
path: root/measure.c
diff options
context:
space:
mode:
authorGravatar Andres Erbsen <andreser@mit.edu>2017-07-02 17:09:09 -0400
committerGravatar Andres Erbsen <andreser@mit.edu>2017-07-02 17:09:09 -0400
commitd7ad9528319596298b80e450e5a2eb87610d2fcf (patch)
tree517a2de4683a867a706af0e3ee1e5f8ed164002c /measure.c
parent448af3b44af491738b83a6084161e414d6522cdf (diff)
automate P256 integration
Diffstat (limited to 'measure.c')
-rw-r--r--measure.c18
1 files changed, 11 insertions, 7 deletions
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;
}