<SNIP>
OHM is on the ball. Windows is finicky, and even if you don't have
another program running, it's always doing something. And remember, a CPU
can only handle 1 function at a time, that's why cache was invented, so
doing a bench-mark twice is not going to do anything but upset you because
it may run a 0 ticks if nothing else is going on, or 16 ticks if it had to
wait for another process so it could execute a call.
Run it 100 times, each time writing the resaults to a file, call a
System.Threading.Thread.Sleep(5000) between each execution of the loop. It
will take 500,000 ms (about 8 1/2 minutes) to finish the benchmark, but you
will have a very accurate set of numbers. The simply open the file into
Excel or something similar, and get the average, and there is your ART
(Average RunTime) for the function. Use that number for stateting how fast
the function runs.
HTH
Suefell