如何用vc6自带功能进行c/c++代码性能调优
2007-05-22 10:15
701 查看
性能调优工具有很多,例如Ration PurifyPlus中的Quantify,Intel VTune中的Call Graph等。不过这些工具都很贵,也不太容易安装。其实,vc6自己就带了一个性能调试功能。下面以一个实际例子讲解如何进行性能调优。
首 先,我们来创建一个vc6自带的示例程序:打开vc6的集成开发环境,点击菜单“File -?New”,选择“Projects”属性页,选中“Win32 Console Application”,然后在“Project name”中输入:profile1,并点击“OK”按钮。当出现Wizard提示窗口时,可以选择“A 'Hello, World!' application.”。
第二步,这一步很重要:点击菜单“Project - Settings”,选择“Link”属性页,使“Enable profiling”为选中状态,并点击“OK”按钮。
第三步,点击菜单“Build - Build xxx.exe”,可以在“Build”子窗口中看到编译成功信息。
第四步,好了,现在可以开始测试了:点击菜单“Build - Profile”,选择“Function timing”,然后点击“OK”按钮。接下来就可以在“Profile”子窗口中看到性能信息了。本例中,运行结果为:
Profile: Function timing, sorted by time
Date: Tue May 22 10:15:37 2007
Program Statistics
------------------
Command line at 2007 May 22 10:15: "E:/TEST/profile1/Debug/profile1"
Total time: 1.167 millisecond
Time outside of functions: 1.010 millisecond
Call depth: 1
Total functions: 1
Total hits: 1
Function coverage: 100.0%
Overhead Calculated 1149
Overhead Average 1149
Module Statistics for profile1.exe
----------------------------------
Time in module: 0.157 millisecond
Percent of time in module: 100.0%
Functions in module: 1
Hits in module: 1
Module function coverage: 100.0%
Func Func+Child Hit
Time % Time % Count Function
---------------------------------------------------------
0.157 100.0 0.157 100.0 1 _main (profile1.obj)
一般来说,我们只需要关注“Func Time”排名在前几的调用就可以了。
首 先,我们来创建一个vc6自带的示例程序:打开vc6的集成开发环境,点击菜单“File -?New”,选择“Projects”属性页,选中“Win32 Console Application”,然后在“Project name”中输入:profile1,并点击“OK”按钮。当出现Wizard提示窗口时,可以选择“A 'Hello, World!' application.”。
第二步,这一步很重要:点击菜单“Project - Settings”,选择“Link”属性页,使“Enable profiling”为选中状态,并点击“OK”按钮。
第三步,点击菜单“Build - Build xxx.exe”,可以在“Build”子窗口中看到编译成功信息。
第四步,好了,现在可以开始测试了:点击菜单“Build - Profile”,选择“Function timing”,然后点击“OK”按钮。接下来就可以在“Profile”子窗口中看到性能信息了。本例中,运行结果为:
Profile: Function timing, sorted by time
Date: Tue May 22 10:15:37 2007
Program Statistics
------------------
Command line at 2007 May 22 10:15: "E:/TEST/profile1/Debug/profile1"
Total time: 1.167 millisecond
Time outside of functions: 1.010 millisecond
Call depth: 1
Total functions: 1
Total hits: 1
Function coverage: 100.0%
Overhead Calculated 1149
Overhead Average 1149
Module Statistics for profile1.exe
----------------------------------
Time in module: 0.157 millisecond
Percent of time in module: 100.0%
Functions in module: 1
Hits in module: 1
Module function coverage: 100.0%
Func Func+Child Hit
Time % Time % Count Function
---------------------------------------------------------
0.157 100.0 0.157 100.0 1 _main (profile1.obj)
一般来说,我们只需要关注“Func Time”排名在前几的调用就可以了。
相关文章推荐
- [译]在CUDA C/C++中如何衡量代码性能
- 如何利用ppt自带的图片处理功能进行图片“扣图”
- 前端开发性能推荐-如何进行CSS代码减肥
- 在C/C++代码中使用SSE等指令集的指令(5)SSE进行加法运算简单的性能测试
- VC2010 C++如何更改代码的字体大小和颜色
- VC程序员如何查看其他平台的C++代码
- 如何进行Java EE性能测试与调优
- [C/C++]_[初级]_[如何编写简单有效代码,提高程序运行效率和性能]
- 在C/C++代码中使用SSE等指令集的指令(5)SSE进行加法运算简单的性能测试
- C++中,如何在标准库的std::string和常用库(Qt,VC等)的QString之间进行选择?
- 如何进行Java EE性能测试与调优
- 使用JDK自带的visualvm进行性能监测和调优
- Oracle PLSQL Procedure 如何进行性能调优分析
- 在C/C++代码中使用SSE等指令集的指令(5)SSE进行加法运算简单的性能测试
- 如何设置操作系统处于最佳性能?此方法可以取消系统自带的界面渲染及其它多余的辅助功能.
- 在C/C++代码中使用SSE等指令集的指令(5)SSE进行加法运算简单的性能测试
- 如何对Oracle进行健康检查-性能调优
- 如何进行Java EE性能测试与调优
- 在C/C++代码中使用SSE等指令集的指令(5)SSE进行加法运算简单的性能测试
- 在CUDA C/C++中如何衡量代码性能