0

我针对我的 ASP.NET 应用程序运行 Visual Studio 2008 分析器,并得出以下结果集。

CURRENT FUNCTION                                      TIME (msec)
---------------------------------------------------|--------------
Data.GetItem(params)                               |   10,158.12
---------------------------------------------------|--------------

Functions that were called by Data.GetItem(params)    TIME (msec)
---------------------------------------------------|--------------
Model.GetSubItem(params)                           |     0.83
Model.GetSubItem2(params)                          |     0.77
Model.GetSubItem3(params)                          |     0.76
etc.

我面临的问题是 Data.GetItem(params) 调用的函数的总和不等于10,158.12 毫秒的总和。这会让我相信大部分时间实际上都花在了执行该方法中的代码上。

我的问题是...... Visual Studio 是否提供了一种分析方法本身的方法,以便我可以看到哪些代码部分花费的时间最长?如果没有任何推荐的工具来做到这一点?还是我应该开始编写自己的计时脚本?

谢谢

4

3 回答 3

1

VS 2008 分析器不支持块级分析,但我相信Red Gate 的分析器支持。

于 2010-03-02T00:08:28.963 回答
0

不要专注于计时代码。这就是自上而下的方法。

自下而上更有效。 此方法在 Visual Studio 中运行良好。

于 2010-03-04T13:07:45.663 回答
0

另一种方法是将您的 GetItem 方法分解为许多较小的方法(可能进行二进制切碎)以缩小花费时间的范围。可能比编写一些计时脚本更容易。

于 2010-06-10T20:57:02.453 回答