您的位置:首页 > 其它

VS性能分析工具 - 演练:分析应用程序

2010-09-28 18:00 246 查看
在学VS的性能分析工具。

在走MSDN里这个例子的时候困难重重:

http://msdn.microsoft.com/zh-cn/library/ms182398.aspx

很多与他说明不对应的地方。

出入1. 采样方法, 不会检测到GetName方法, 只有这些:



我已经将 采样时钟间隔设置足够小 1,000,000。 我的时钟主频是2.9G, 1/2.9×10^3秒采一次样。

但换“检测方式”就可以检测到GetPeople了, 它 是GetName的调用者。



出入2,看不了getPeopel代码细节

问题在于我要看getPeopel细节,才能找到GetName, 但是糟糕的是,getPeopel 已经是检测的最底层了,从“调用关系树” 和 “函数详细信息”可以证明这一点。





而无法继续深入检测的原因,就应该和无法正确显示 GetPeopel层的代码,是一个原因,也就是图片上的这句话:“源代码不可用.................”

我试图根据这句话,解决这个问题,也就是给他合适的符号路径



我把解决方案中4个项目的所有bdg的路径都给加上了。

结果: 失败, 这不是正确的原因. 求高手赐教。

于是,我不计较这些, 决定继续走, 来尝试看一看 “演练” 后面性能的比较。

出入3: 首先你要把4个项目的 条件编译都加上。而非仅1个, 实际只有2个项目用。



悲剧在于, 加完, 运行程序后,点"Get Peopel"按钮, 报错:





debug发现了错误的位置。 但是不明白是什么错, 因为我不是c#程序员,,,搞了一会,没出结果。

待续....

2010.9.29 15:00 做个小结尾

演练最后部分改进=+ 的性能提升是正确的,如下图:



经过多次反复运行。 都有同样的结果。 String.Concat有-2.3左右的增量。 编程基本没有时间消耗的0.00独占样本。

对于2.源代码无法正确显示,3.报错问题。有时间解决或不解决。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: