Accuracy

Calls to the timingTest function incur an overhead because of the time required to make the virtual function call. ITimingTest compensates for this by computing an empty function time, which is the estimated time to make a call to an empty virtual function. This time is subtracted from each sample time in order to calibrate for this overhead.

Another way to increase the accuracy of timing tests is to increase the timing count to divide the various sources of error across more iterations. In general, the value of the timing count should be at least 100.