Previous: , Up: make   [Contents][Index]

Validating the coNCePTuaL timer

Validating the coNCePTuaL timer

make automatically builds a program called validatetimer . validatetimer helps validate that the real-time clock used by the coNCePTuaL run-time library accurately measures wall-clock time. The idea is to compare coNCePTuaL’s timer to an external clock (i.e., one not associated with the computer). Simply follow the program’s prompts:

% validatetimer
Press <Enter> to start the clock ...
Press <Enter> again in exactly 60 seconds ...

coNCePTuaL measured 60.005103 seconds.
coNCePTuaL timer error = 0.008505%

If the difference between coNCePTuaL’s timer and an external clock is significant, then performance results from coNCePTuaL—and possibly from other programs, as well—should not be trusted. Note that only extreme differences in timings are significant; there will always be some error caused by human response time and by system I/O speed. In the case that there is an extreme performance difference,1 the --with-gettimeofday option to configure (see configure) may be a viable workaround.

validatetimer takes an optional command-line argument, which is the number of seconds of wall-clock time to expect. The default is ‘60’. Larger numbers help amortize error; smaller numbers enable the program to finish sooner.



To date, extreme performance differences have been observed primarily on PowerPC-based systems. The PowerPC cycle counter is clocked at a different rate from the CPU speed, which may confuse coNCePTuaL. The run-time library compensates for this behavior on all tested platforms (see Installation), but the user should nevertheless make sure to run validatetimer to verify that coNCePTuaL’s timer is sufficiently accurate.

Scott Pakin,