我正在Mac(OS X Lion / XCode 4.1)上编写纯STL C++应用程序。我需要回答一个简单的问题:哪些代码部分必须进行优化?Gprof输出为空,XCode的Instruments也没有帮助。我需要使用哪个工具?
我正在Mac(OS X Lion / XCode 4.1)上编写纯STL C++应用程序。我需要回答一个简单的问题:哪些代码部分必须进行优化?Gprof输出为空,XCode的Instruments也没有帮助。我需要使用哪个工具?
使用Shark。它在/ Developer / Applications / Performance Tools
中。
非常易于使用。更多信息请参见:http://developer.apple.com/tools/sharkoptimize.html
即使 gprof 能够正常工作,它可能也不会有太大的帮助。
对于任何语言和操作系统,我依赖的方法是 随机暂停。
这是它的工作原理。 如果您对堆栈进行多次随机时间采样,则浪费的函数调用或 I/O 出现的比例与它们浪费的时间分数成比例。它的优点在于可以准确定位有问题的语句,而不是让您在昂贵的例程中寻找。