c# – 带有SQL的Visual Studio 2010探查器

我正在使用Visual Studio 2010的内置分析器来查看一段性能不佳的代码.但是,我看到一些不太合理的结果.以下是报告的镜头:这似乎表明Regex.Replace是瓶颈(因此我应尽量减少或消除这种使用).然而,这感觉不准确,因为我...

我正在使用Visual Studio 2010的内置分析器来查看一段性能不佳的代码.但是,我看到一些不太合理的结果.以下是报告的镜头:

这似乎表明Regex.Replace是瓶颈(因此我应尽量减少或消除这种使用).然而,这感觉不准确,因为我知道这个特定的代码部分正在大量使用数据库,因此我希望SqlCommand.ExecuteNonQuery在此报告中至少要高一点,如果不比正则表达式更具优势使用.

所以,我的问题是:这个探查器工具是否对涉及数据库访问的任何东西都没用,因为SQL工作是由另一个进程(即SQL服务器)完成的,因此我必须以其他方式测量它?

解决方法:

Visual Studio探查器有两种操作模式,即采样和检测.
在采样模式下,它不会在I / O被阻塞时绘制样本.
因此,除了叶子正在进行原始CPU处理之外,它不能向您显示调用树的任何部分.

您正在使用采样模式.尝试仪器模式,它在挂钟时间运行,因此它包括I / O.

无论你做什么,请忽略专属时间.只注意包容时间,占总时间的百分比.
您正在寻找代码中的例程,这些例程在很长一段时间内处于活动状态,大部分时间都用于调用其他例程,
而你正在寻找你可以不用的电话.

附:我做this,总是有效的.

本文标题为:c# – 带有SQL的Visual Studio 2010探查器

基础教程推荐