我有一个带有很多WriteLine()
函数的控制台应用程序,这个应用程序也应该作为一个“服务”运行(一个计划任务,运行时用户没有登录)。
在这种情况下,没有显示实际的 cmd 窗口。在这种情况下,Console.WriteLine()
是否仍会导致明显的性能损失?
最佳答案
是即使控制台不可见也会导致性能下降
我的实验是在控制台可见的情况下运行这段代码,然后在控制台隐藏的情况下再次运行并测量性能
第一次运行控制台 可见 24683 毫秒
第二次运行控制台 可见 23363 毫秒
第一次运行控制台隐藏 167 毫秒
第二次运行控制台 隐藏 162 毫秒
static void Main(string[] args)
{
WriteMilionLines();
}
static void WriteMilionLines()
{
Stopwatch sw = new Stopwatch();
sw.Start();
for (int i = 0; i < 1000000; i++)
{
Console.WriteLine(i);
}
sw.Stop();
string message = "ElapsedMilliseconds" + sw.ElapsedMilliseconds;
File.WriteAllText(@"c:\log.txt", message);
}
通过注释 Console.WriteLine(i);
行将花费零毫秒
关于c# - 即使控制台不可见,Console.WriteLine 是否会导致性能下降? (C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32678095/