C# 如何在Visual Studio Performance Analyzer中查看毫秒而不是%samples

C# 如何在Visual Studio Performance Analyzer中查看毫秒而不是%samples,c#,visual-studio,performance-testing,C#,Visual Studio,Performance Testing,我试图用VisualStudio性能分析器分析我的程序,但我对这个工具还不熟悉 如果我在分析器中启动我的程序,我会得到一个报告,其中我看到一个函数花费的总分析时间的百分比。但是总时间可能在5秒到500秒之间变化,那么我如何才能看到我的优化是否有任何效果呢 如果以毫秒为单位,我就不会有这个问题,但我找不到任何类似“以毫秒为单位显示”或类似的函数。这样的功能存在吗 在Visual Studio Profiler中有两种不同的CPU评测方法:采样和检测 采样(默认) 采样分析方法以设定的间隔中断计算机

我试图用VisualStudio性能分析器分析我的程序,但我对这个工具还不熟悉

如果我在分析器中启动我的程序,我会得到一个报告,其中我看到一个函数花费的总分析时间的百分比。但是总时间可能在5秒到500秒之间变化,那么我如何才能看到我的优化是否有任何效果呢

如果以毫秒为单位,我就不会有这个问题,但我找不到任何类似“以毫秒为单位显示”或类似的函数。这样的功能存在吗


在Visual Studio Profiler中有两种不同的CPU评测方法:采样检测

采样(默认) 采样分析方法以设定的间隔中断计算机处理器并收集函数调用堆栈。正在执行的函数的独占样本计数递增,而调用堆栈上的所有调用函数的包含计数递增。采样报告显示分析模块、函数、源代码行和指令的这些计数的总和

采样方法是轻量级的(二进制文件中没有更改),对应用程序方法的执行几乎没有影响:它只收集有关分析会话期间应用程序执行的工作的统计数据

这对最初的探索很有好处。高%可能意味着函数运行缓慢或调用过于频繁

仪器仪表 检测分析方法收集已分析应用程序中函数调用的详细计时。怎么用?它注入代码,捕获插入指令的文件中每个函数的计时信息以及这些函数进行的每个函数调用。插装还可以识别函数何时调用操作系统以执行诸如写入文件之类的操作

在报告中,您将看到应用程序时间(执行一段代码所花费的总时间,但不包括调用操作系统、ado.net、服务调用等所花费的时间)和运行时间(执行一段代码所花费的总时间)

此分析模式还具有更高的运行时开销。这不可避免地会稍微改变应用程序的性能特征,但这是非常小的

只有此选项允许您查看毫秒。因此,请在performance explorer的向导中更改分析方法。还要注意,此选项有时不可用,例如在分析单元测试时