现在的位置: 首页 > 综合 > 正文

初探VS2010中的Profile(性能剖析)功能

2013年12月13日 ⁄ 综合 ⁄ 共 1180字 ⁄ 字号 评论关闭

VS2010中的Profile(性能剖析)功能十分实用,它可以协助程序员迅速锁定当前程序的性能瓶颈,为程序的优化做准备。

点击VS2010的Analyze菜单,选择Launch Performance Wizard,依照提示可以很方便地完成Profile的必需配置。可能你会碰到"Injection of runtime library failed"错误,这时就不要使用Wizard,而要选择Analyze下拉菜单中的Profiler->Attach/Detach...,将Profiler附加到进程上。

本文以名为Sorting的小程序为例。程序中除了main函数之外,定义了全局函数SortData和PrintData分别实现排序和打印功能。核心代码如下所示:

  1. //! SortAndPrint definition  
  2. /*! 
  3.     \param iNum 待排序数组大小 
  4.     \param data 待排序数组首指针 
  5.     \return 函数执行成功则返回1 
  6.      
  7.     - 三种方式排序 
  8.         -# 冒泡排序 
  9.         -# 数组+STL sort 
  10. */  
  11. bool SortData(int &iNum,int* data)  
  12. {  
  13.     int temp;  
  14.     //! 冒泡排序  
  15.     for(int i=1;i<iNum;++i)  
  16.     {  
  17.         for(int j=0;j<iNum-i;++j)  
  18.         {  
  19.             if(data[j]>data[j+1])  
  20.             {  
  21.                 temp=data[j];  
  22.                 data[j]=data[j+1];  
  23.                 data[j+1]=temp;  
  24.             }  
  25.         }  
  26.     }  
  27.     return 1;  
  28. }  
  29.   
  30. //! PrintData definition  
  31. /*!  
  32.     打印有序数列到屏幕  
  33.     \param iNum 待排序数组大小 
  34.     \param data 待排序数组首指针 
  35.     \return 函数执行成功则返回1 
  36. */  
  37. bool PrintData(int &iNum,int* data)  
  38. {  
  39.       
  40.     //! 输出有序数列  
  41.     for(int i=0;i<iNum;++i)  
  42.     {  
  43.         if(i%50==0)  
  44.         {  
  45.             //system("pause");  
  46.         }  
  47.         _tprintf_s(_T("%d\n"),data[i]);  
【上篇】
【下篇】

抱歉!评论已关闭.