C# 为什么在CPU采样中运行代码所需的时间是代码自身运行时间的一半?

C# 为什么在CPU采样中运行代码所需的时间是代码自身运行时间的一半?,c#,performance,diagnostics,C#,Performance,Diagnostics,我正试图与VisualStudio的性能和诊断部分合作,有趣的是,我发现在CPU采样中运行代码所需的时间是代码运行时间的一半 为什么会发生这种情况 我是否可以使用此选项,而不是运行代码运行CPU采样探查器并提前获得结果?除非您没有清楚地看到另一个因素(如在调试模式下运行Release等),否则这种效果应该是不可能的 作为: 采样分析方法收集有关应用程序在分析运行期间执行的工作的统计数据。抽样方法是轻量级的,对应用方法的执行几乎没有影响 (……) 采样分析方法以设定的间隔中断计算机处理器并收集函数

我正试图与VisualStudio的性能和诊断部分合作,有趣的是,我发现在CPU采样中运行代码所需的时间是代码运行时间的一半

为什么会发生这种情况


我是否可以使用此选项,而不是运行代码运行CPU采样探查器并提前获得结果?

除非您没有清楚地看到另一个因素(如在调试模式下运行Release等),否则这种效果应该是不可能的

作为:

采样分析方法收集有关应用程序在分析运行期间执行的工作的统计数据。抽样方法是轻量级的,对应用方法的执行几乎没有影响

(……)

采样分析方法以设定的间隔中断计算机处理器并收集函数调用堆栈