如何每秒分析C#方法?

时间:2010-12-13 22:13:49

标签: c# .net performance

我不知道标题是否有意义,但我想要做的是计算2种不同的方法,看看它们每秒执行多少次,或者每10秒说一次。

例如:

DividePolygons1(Polygon[] polys)
DividePolygons2(Polygon[] polys)

DividePolygons1 ran:
1642 times per 1 second

DividePolygons2 ran:
1890 times per 1 second

3 个答案:

答案 0 :(得分:10)

System.Diagnostics.Stopwatch类会在这里为您提供帮助,但请注意以某种方式使用结果,以便优化器不会消除您尝试测量的逻辑。

除此之外,只需运行您在循环中分析数百万次的代码(调整迭代次数使其需要1到30秒),然后将迭代次数除以获得吞吐量所需的时间在每秒执行中。

答案 1 :(得分:2)

我会做什么:

  • 开始Stopwatch
  • 在这些函数中,我增加一个简单的变量(long,float或double,具体取决于你认为它们被调用的频率),因此它会在每次调用时递增。
  • 调用第一个函数。
  • 停止Stopwatch并针对我一直在递增的变量检查TotalSeconds
  • 重复第二个功能。

答案 2 :(得分:1)

Visual Studio 2010有一个分析器,可以确定每个时间单位的方法调用的确切数量。