【问题标题】:Profiling a function in framework分析框架中的函数
【发布时间】:2013-07-09 21:13:55
【问题描述】:

我使用了一些框架,发现某些函数(例如 Rebuild(param1, param2) )有时运行很慢。

如何收集有关每个函数调用的信息(用于检测最长的调用和参数)?

不建议修改源代码或调用框架外的函数。

【问题讨论】:

  • 不用独立的外部工具就好了。

标签: c++ visual-studio profiling


【解决方案1】:

我建议你非常困 (http://www.codersnotes.com/sleepy)。这是一个非常易于使用的分析工具。

  • 它将显示函数中传递的时间。 (在函数中传递的包含和排除时间都以秒和应用程序执行的百分比给出)
  • 您还将拥有函数的调用堆栈。
  • 还有一些您自己会发现的东西。

您只需运行它并将其附加到您要分析的进程。它不需要(重新)编译任何源代码。

【讨论】:

    【解决方案2】:

    我的第一个想法可能是使用代码覆盖工具(例如gcov)来检查哪些代码路径在某些测试情况下受到压力,在这些情况下您会观察到这种行为。

    额外注入的分析代码(多少次调用具有 CPU 时间配置文件,例如 GPROF)将有助于进一步找出瓶颈。

    这两种技术都不会侵入任何源代码,但需要使用某些编译器标志 (GCC) 重新编译。

    我很确定 MS Visual Studio 会提供类似的工具。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-18
      • 1970-01-01
      • 1970-01-01
      • 2018-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多