我发现为性能计时我的代码有点令人头疼,我不得不假设这是人们的常见问题。
添加一堆代码来对循环进行计时固然很棒,但添加计时检查通常会比添加并行任务产生更多开销。 并行循环可能需要几秒钟的时间,而添加计时 block 则需要几行代码,如果忘记的话会很危险。
所以...我的问题是为什么 IDE 不包含像断点一样对代码块进行计时的功能? 就像我标记一段代码并告诉它将计时输出转储到控制台,并带有一些选项以使其更具可读性。平均值等。
我知道断点会严重影响性能,但必须有一种更简单的方法来对特定代码块进行计时,然后为我想要检查的每个代码块编写我自己的计时例程。
最佳答案
首先,VS 2015 does offer timing indicators while debugging .
(来源:s-msft.com)
但我说不要将它用于严肃的分析目的。使用它可以非常粗略了解正在发生的事情。
由于多种因素(禁用编译器优化、禁用 JIT 优化、到处都是 nop
指令、断点等),在调试构建中对任何内容进行计时都会产生不可靠的数字。垃圾进来,垃圾出去。
只要正确地进行分析即可,这是一件很难的事情。如果您需要详细的性能数据,请使用真正的分析器。
关于c# - 为什么 IDE 不提供像断点这样的内置代码计时功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33312748/