在Mac上进行C++性能分析

7

我正在Mac(OS X Lion / XCode 4.1)上编写纯STL C++应用程序。我需要回答一个简单的问题:哪些代码部分必须进行优化?Gprof输出为空,XCode的Instruments也没有帮助。我需要使用哪个工具?


“Empty output” 是什么意思?我认为你的问题可能应该是“如何让 gprof 正常工作?” - Oliver Charlesworth
看起来像是 http://pastebin.com/EUhfSmLa - sashab
1
仪器对我来说非常有效。 - LaC
2个回答

4

1
很遗憾,这个解决方案已经过时了。Shark已被Instruments所取代(http://stackoverflow.com/a/8349036/130427)。Instruments似乎无法像Shark那样引用特定的函数调用。 - Chris Redford

0

即使 gprof 能够正常工作,它可能也不会有太大的帮助

对于任何语言和操作系统,我依赖的方法是 随机暂停

这是它的工作原理。 如果您对堆栈进行多次随机时间采样,则浪费的函数调用或 I/O 出现的比例与它们浪费的时间分数成比例。它的优点在于可以准确定位有问题的语句,而不是让您在昂贵的例程中寻找。


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