loop_overhead_time.c 398 Bytes
#include <stdio.h>
int main()
{
int time1, time2, sum=0;
int i;
int avg = 0;
asm volatile("mrc p15, 0, %0, c9, c14, 0" : "=r" (i));
while(sum < 100) {
asm volatile("mrc p15, 0, %0, c9, c13, 0" : "=r" (time1));
for (i = 0; i < 1000; i++);
asm volatile("mrc p15, 0, %0, c9, c13, 0" : "=r" (time2));
avg = (time2 - time1 - 5);
printf("Loop overhead: %u\n", avg/(1000));
sum++;
}
}