实现逐行性能分析

3

最近一周,我一直在研究CLR性能分析API,作为夏季的个人项目。

我开始思考ANTS和DotTrace如何实现行级别的性能分析。我在Profiling API中找不到任何相关内容,因此我认为它们有一些专利技术。

我正在寻找关于它们如何实现这一点的指示或想法。

他们在代码被JIT编译时注入了MSIL代码吗?


如果你的目的是为了找到加速代码的方法(其中位置的精度比时间的精度更重要),我依赖的方法是这个 - Mike Dunlavey
我已经看过那个答案了,很有道理。我这么做并不是因为想加速某些特定的代码,只是因为我很好奇 :) - trydis
1
有两种方法,仪器化和堆栈采样。仪器化涉及将调用插入代码中,因此具有侵入性和成本高的特点。堆栈采样(如Zoom)是非侵入性的,并提供逐行成本。我不确定是否有任何针对.NET的工具。如果没有,应该有。 - Mike Dunlavey
1个回答

1

谢谢回复。是的,我已经成功地使用了进入、离开和尾调用回调函数。我会更仔细地研究你提到的项目,目前只是简单地浏览了其中一个的代码。 - trydis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接