C 如何分析代码段?
我需要分析一个用C编写的软件。现在的问题是,虽然gprof或我自己的开始计时器/结束计时器函数调用将为我提供在每个函数中花费的时间,但我不知道每个函数中哪个部分最耗时。有些人可能会将其称为微观优化,但这正是当前的需要 实现这一点的方法之一是“手动”在for循环中放置开始/结束计时器调用(可能有多个)。在这种情况下,更明智的做法是允许使用宏启用/禁用这些调用 但我想自动化这个仪器 你能告诉我是否有一个好的工具可以实现同样的目标吗?如果我可以从脚本中重复调用插入指令的程序,然后找到代码中每个“部分”花费的平均时间,这将是理想的。目前,节是一个定义松散的术语,但“工具”可以对节有更具体的定义C 如何分析代码段?,c,performance,profiling,gprof,C,Performance,Profiling,Gprof,我需要分析一个用C编写的软件。现在的问题是,虽然gprof或我自己的开始计时器/结束计时器函数调用将为我提供在每个函数中花费的时间,但我不知道每个函数中哪个部分最耗时。有些人可能会将其称为微观优化,但这正是当前的需要 实现这一点的方法之一是“手动”在for循环中放置开始/结束计时器调用(可能有多个)。在这种情况下,更明智的做法是允许使用宏启用/禁用这些调用 但我想自动化这个仪器 你能告诉我是否有一个好的工具可以实现同样的目标吗?如果我可以从脚本中重复调用插入指令的程序,然后找到代码中每个“部分”
如果我能以某种方式了解哪些工具将是您可以尝试结合使用(其中一种工具)的工具,这也会很有帮助。另请参见。我自己没有使用过它,但我听说Valgrind instrumentation framework()有一些工具,可以实现您试图完成的任务所需的非常细粒度的评测。您希望代码尽可能快地运行,对吗 gprof是一种测量工具。如图所示,它可以帮助评估替代实现。 他们没有说它对于定位需要替代实现的代码是有效的,而且事实并非如此,尽管几乎所有人都认为它是有效的 谬论是测量是定位的,但是如果你想在房间里找到一头大象,你需要测量它才能知道它在那里吗? 不,你睁开眼睛
我也去了佐治亚理工学院。请告诉那里的教授停止销售gprof;-)