C# Trace.WriteLine和Debug.WriteLine的性能问题

我们在定位问题时经常需要打印数据输出到控制台,跟踪处理流程,常用的时Trace.WriteLine和Debug.WriteLine。

两者的区别是

1.Trace.WriteLine 在所有模式下输出

2.Debug.WriteLine 在debug模式下输出,release模式不输出

除了以上区别外,它俩都有严重的性能问题,所以定位完问题一定要删除.

下面列出各种方式的运行时间

Debug.WriteLine

            int i = 0;
            DateTime begin = DateTime.Now;
            while (i < 10000)
            {
                i++;
                Debug.WriteLine("===");
            }
            TimeSpan timeSpan = DateTime.Now - begin;
            Console.WriteLine($"timeSpan : {timeSpan}");

输出  timeSpan : 00:00:04.0779556

 

Trace.WriteLine

            int i = 0;
            DateTime begin = DateTime.Now;
            while (i < 10000)
            {
                i++;
                Trace.WriteLine("===");
            }
            TimeSpan timeSpan = DateTime.Now - begin;
            Console.WriteLine($"timeSpan : {timeSpan}");

输出 timeSpan : 00:00:03.9174826

 

Console.WriteLine

            int i = 0;
            DateTime begin = DateTime.Now;
            while (i < 10000)
            {
                i++;
                Console.WriteLine("===");
            }
            TimeSpan timeSpan = DateTime.Now - begin;
            Console.WriteLine($"timeSpan : {timeSpan}");

输出 timeSpan : 00:00:00.0189497

所以在使用Debug和Trace输出内容结束后一定要删除

 

posted @ 2021-03-09 20:39  lhy_Gogogo  阅读(789)  评论(0)    收藏  举报