我正在使用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探查器


基础教程推荐
- C#构建树形结构数据(全部构建,查找构建) 2022-11-22
- C#实现控制电脑注销,关机和重启 2023-07-04
- C#中的三种定时计时器Timer用法介绍 2023-05-22
- SqlServer数据类型、C#SqlDbType对应关系及转换 2023-11-09
- C# 对象持久化详解 2022-10-27
- .net 通过 WebAPI 调用nsfwjs 进行视频鉴别功能 2023-05-05
- unity实现透明水波纹扭曲 2023-02-16
- C#实现计算器功能 2023-05-16
- C#创建Windows服务的实现方法 2023-01-16
- C# 列表List的常用属性和方法介绍 2023-04-10