public static long Spin(long millisecondsToRun, Action funcToTest)
{
long count = 0, elapsed;
DateTime start = DateTime.UtcNow;
do
{
funcToTest();
count++;
elapsed = (long)(DateTime.UtcNow - start).TotalMilliseconds;
} while(elapsed < millisecondsToRun);
Debug.WriteLine("Ran \"{0}\" {1:#,#} times in {2:#,#} milliseconds.", funcToTest, count, millisecondsToRun);
return count;
}