C# 为什么不使用IDE';s提供像断点这样的内置代码计时?

C# 为什么不使用IDE';s提供像断点这样的内置代码计时?,c#,visual-studio,ide,benchmarking,C#,Visual Studio,Ide,Benchmarking,我发现为代码的性能计时有点令人头痛,我不得不假设这是人们普遍存在的问题 添加一堆代码来计时我的循环是很好的,但是添加计时检查通常比添加并行任务的开销更大。 使循环并行可能需要几秒钟的时间,而添加计时块需要几行代码,如果忘记了,则会很危险 所以。。。我的问题是,为什么IDE不包括这样一种能力:像断点一样对代码块计时? 类似于我标记一段代码,并告诉它使用一些选项将定时输出转储到控制台,以使其更具可读性。平均数等等 我知道断点会严重影响性能,但必须有一种更简单的方法来计时特定的代码块,然后为我要检查的

我发现为代码的性能计时有点令人头痛,我不得不假设这是人们普遍存在的问题

添加一堆代码来计时我的循环是很好的,但是添加计时检查通常比添加并行任务的开销更大。 使循环并行可能需要几秒钟的时间,而添加计时块需要几行代码,如果忘记了,则会很危险

所以。。。我的问题是,为什么IDE不包括这样一种能力:像断点一样对代码块计时? 类似于我标记一段代码,并告诉它使用一些选项将定时输出转储到控制台,以使其更具可读性。平均数等等

我知道断点会严重影响性能,但必须有一种更简单的方法来计时特定的代码块,然后为我要检查的每个代码块编写我自己的计时例程

第一,与2015年相比

但我要说的是,不要把它用于严肃的分析目的。用它来大致了解正在发生的事情

调试构建中的任何计时都会产生不可靠的数据,因为有很多因素(禁用编译器优化、禁用JIT优化、
nop
指令无处不在、断点等)。垃圾进来,垃圾出去


只要正确地进行分析,就很难做到正确。如果您需要详细的性能数据,请使用真正的分析器。

为什么要计时?只需对其进行概要分析并消除发现的任何瓶颈。我知道它可以全面地为事情计时。但我只想让我的循环计时。我在性能分析器中看不到这样做的方法。我可以看到方法计时,但不能看到具体的循环计时。哦,等等,这是VS2015的。我想以前的版本没有这个。。。我想是时候升级了。Hrmm我想性能分析器可以一行一行地做,但是它的使用和读取都有点困难。我已经很久没有使用内置的性能分析器了。我使用dotTrace进行分析,它可以提供逐行执行统计信息,如运行时间和调用数。你可能想看看这个,它是ReSharper的一部分。