Visual studio 2010 的Profiler是自带的性能工具, 利用它我们可以找出程序中的性能瓶颈,然后不断优化不断再测试。
简介
Profiler有利用向导启动程序和后期附加到程序两种关联被测模块的方式,测试方式也有两种:Sampling(采样)和Instrumentation(检测)。
Sampling:按设置的时间间隔中断计算机处理器并收集函数调用堆栈。
调用堆栈是一个动态结构,用于存储有关正在处理器上执行的函数的信息。这个分析方法形成的结果就是各个函数在运行时被采样的次数,次数越大代表开销越大。因为对被测源码不需要更改,所以直接启动或者后期附加到被测程序都可以。Instrumentation:在被测源码文件中目标函数的开始和结尾以及这些函数对其他函数的每次调用前后插入代码。
插入的代码记录了以下信息:- 此收集事件与上一收集事件之间的间隔。
- 在此间隔内操作系统是否执行了操作。
例如,操作系统可能读写磁盘,或者在目标线程与另一个进程中的另一个线程之间进行切换。
根据”Tools\Options\Performance Tools\“ 下‘Show time values as:’的默认设置为Milliseconds,我觉得采样周期应该是毫秒级,也就是说报告中采样次数可以约等于毫秒。
使用
- 用管理员启动Visual Studio
- 针对Release版本的程序
- 设置好程序所需的pdb路径