I have just written this short C++ program to approximate the actual number of clock ticks per second.
#include
#include
usi
When you set int first_time = time(NULL);, time(NULL) might be "1 nanosecond away", (because it is truncated), from turning +1. Therefore, the: while(time(NULL) <= first_time) {} can be jumped over faster than 1 second, quicker than you expected.
That's why there are less clocks in that "1 second" of yours.