引入redis服务,支持自动化单元测试
大石头 编写于 2022-03-31 22:56:30
X
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
using NewLife.Log;
using Xunit;
using NewLife.Reflection;
using System.Diagnostics;

namespace XUnitTest.Log
{
    public class PerfCounterTests
    {
        [Fact]
        public void Test()
        {
            var counter = new PerfCounter();

            XTrace.WriteLine("IsHighResolution={0}", Stopwatch.IsHighResolution);
            XTrace.WriteLine("Frequency={0:n0}", Stopwatch.Frequency);
            var tickFrequency = typeof(CounterHelper).GetValue("tickFrequency");
            XTrace.WriteLine("tickFrequency={0:n0}", tickFrequency);

            var ts = counter.StartCount();
            var count = 10000;
            Thread.SpinWait(count);

            var usCost = counter.StopCount(ts);
            XTrace.WriteLine("Thread.SpinWait({0}) = {1}us", count, usCost);

            //Assert.True(usCost >= 1000);
        }
    }
}