Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 什么限制了调试输出速度?_C#_Debugging - Fatal编程技术网

C# 什么限制了调试输出速度?

C# 什么限制了调试输出速度?,c#,debugging,C#,Debugging,出于控制目的,我使用 Debug.WriteLine(...); 由于我也在观看任务管理器的性能控制,我注意到在打印时两个CPU核都没有满负荷。RAM使用率也不超过50% 两个核心都有工作要做,所以没有足够的任务来执行不是问题 所以我的问题是: 什么组件或类似的东西决定了可以写入调试输出的最大速度?我想大部分时间都会花在I/O操作上,即写入日志文件或控制台(这可能更昂贵)。因此,CPU将花费空闲时间等待硬盘驱动器、GPU和/或额外的内存操作。您如何达到调试输出性能对您来说是一个关键因素的程度?

出于控制目的,我使用

Debug.WriteLine(...);
由于我也在观看任务管理器的性能控制,我注意到在打印时两个CPU核都没有满负荷。RAM使用率也不超过50%

两个核心都有工作要做,所以没有足够的任务来执行不是问题

所以我的问题是:


什么组件或类似的东西决定了可以写入调试输出的最大速度?

我想大部分时间都会花在I/O操作上,即写入日志文件或控制台(这可能更昂贵)。因此,CPU将花费空闲时间等待硬盘驱动器、GPU和/或额外的内存操作。

您如何达到调试输出性能对您来说是一个关键因素的程度?@Damien_the_Noisever从来没有,我只是注意到从文件导入数据会使CPU处于满载状态,在将数据写入调试控制台时,虽然数据已经加载,但不会。但是,为什么从文件导入数据会使CPU处于满负荷状态,而数据尚未检索,而只是打印数据却不会,在这种情况下,当数据已经可用时?我认为仅仅读取数据就可以很容易地优化并行执行:数据可以被读取、缓存并预取到缓存中,因此CPU可以在不中断/等待的情况下或多或少地工作。在这些情况下,写作通常更为关键。此外,控制台的输出速度往往非常慢(与HD操作相比)