c# - 即使控制台不可见,Console.WriteLine 是否会导致性能下降? (C#)

标签 c# .net console-application

我有一个带有很多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/

相关文章:

c# - 如何在不为 Response.End 指定 False 的情况下处理 ThreadAbortException

c# - 需要从 Xamarin 中的选取器中选择至少一项

c# - 如何将一个流的内容复制到另一个流?

c# - 在 C# SOAP 中开始使用 Paypal 自适应支付

c# - 如何在不使用 ClickOnce 的情况下让控制台应用程序检查更新?

C++ Windows 系统托盘不会显示消息

c# - 这是有效的 C# 代码吗?

.net - 下载WCF服务公开的所有WSDL文件的最佳方法是什么?

c# - 如果不指定容量,将 N 个元素插入 List<T> 的复杂度顺序是什么?

vb.net - 如何在控制台应用程序上导入 Microsoft.Office.Interop.Excel?