【问题标题】:Profiling a method in C# to know how long does it take to run在 C# 中分析方法以了解运行需要多长时间
【发布时间】:2011-09-08 19:48:32
【问题描述】:

我需要获取时间报告以了解在类中运行 C# 方法需要多长时间。 我考虑使用profiler 来做到这一点。

输入是类中方法的名称,输出是

  1. 什么方法/类调用这个方法。
  2. 运行该方法的时间量。

Visual Studio 2010 和 Mono 有哪些工具/商业产品可用?

【问题讨论】:

  • 在 VS 2010 的高端版本中,您有一个集成的 Profiler,除此之外不需要商业产品。
  • 现在是您再次提出的相同问题的副本。 stackoverflow.com/questions/6244549/…
  • @Will A :我故意提出了两个问题,另一个问题是关于挂钩方法来分析某些东西(你可以看到评论'或(不)运行分析器'来指定这个,这个问题是关于使用分析器做同样的事情。- prosseek 5 秒前编辑
  • “运行该方法的时间量。” - System.Diagnostics.Stopwatch.

标签: c# visual-studio visual-studio-2010 mono profiling


【解决方案1】:

你可以使用:

两者都会为您提供调用图和方法计时。 Red Gate 工具很不错,有 14 天的试用期。它还提供行级时序,我不确定免费的 CLR Profiler 工具是否适合您。

【讨论】:

    【解决方案2】:

    另一个开源分析器是 slimtune http://code.google.com/p/slimtune/

    或者,您可以使用 COM 和 ICorProfilerCallback 接口创建自己的分析器,但如果您想要一个非常定制的分析器集合,我会这样做。

    【讨论】:

    • +1 用于提及 ICorProfilerCallback 接口——整洁!
    【解决方案3】:

    要添加到迈克尔斯的答案,还有:

    DotTrace(400 美元)

    我个人更喜欢它而不是 Red Gate 分析器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-21
      • 1970-01-01
      • 2016-09-17
      • 1970-01-01
      相关资源
      最近更新 更多