Hello,
With the following code I get some strange results. Am I doing something wrong?
Code:
#include <stdio.h>
#include <time.h>
int main(void) {
unsigned int i;
register unsigned int j;
clock_t start, finish;
start = clock();
for (i = 0; i < 32000; i++);
finish = clock();
printf("\nNon-register loop: %ld ticks\n", finish - start);
printf("Start = %ld\n", start);
printf("Finish = %ld\n", finish);
start = clock();
for (j = 0; j < 32000; j++)
finish = clock();
printf("\nRegister loop: %ld ticks\n", finish - start);
printf("Start = %ld\n", start);
printf("Finish = %ld\n", finish);
printf("\n");
return 0;
}
Here's the output on my machine, compiled with gcc (Ubuntu 4.3.3-5ubuntu4) 4.3.3:
Non-register loop: 0 ticks
Start = 0
Finish = 0
Register loop: 20000 ticks
Start = 0
Finish = 20000