Example #1
0
        ///////////////////////////////////////////////////////////////////////
        private static decimal ClockSpinWait(int loop, int delay)
        {
            Stopwatch swatch = new Stopwatch();

            swatch.Clock(delegate {
                for (uint iter = 0; iter < loop; iter++) {
                    ThreadFu.SpinWaitMs(delay);
                }
            });

            decimal avg = (decimal) swatch.ElapsedMilliseconds / (decimal) loop;
            decimal prec = Math.Abs(avg - delay) / (decimal) delay;

            Console.Write("TestSpinWait target: {0} ms; iter: {1}", delay, loop);
            Console.WriteLine("; avg: {0}", avg);

            return prec;
        }