青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

C++ Coder

HCP高性能計算架構,實現,編譯器指令優化,算法優化, LLVM CLANG OpenCL CUDA OpenACC C++AMP OpenMP MPI

C++博客 首頁 新隨筆 聯系 聚合 管理
  98 Posts :: 0 Stories :: 0 Comments :: 0 Trackbacks
http://blog.csdn.net/dongjun7357/article/details/6277682

一、GProfile簡介

      GProfile是gcc的一個工具,用于對應用程序的測試。

      GProfile可以分析出函數的調用次數、函數的調用關系以及函數消耗的時間。

 

二、GProfile原理

      在編譯和鏈接你的程序的時候,gcc 在你應用程序的每個函數中都加入了一個名為mcount ( or "_mcount" , or "__mcount" , 依賴于編譯器或操作系統)的函數,也就是說你的應用程序里的每一個函數都會調用mcount, 而mcount 會在內存中保存一張函數調用圖,并通過函數調用堆棧的形式查找子函數和父函數的地址。這張調用圖也保存了所有與函數相關的調用時間,調用次數等等的所有信息。 

     程序運行結束后,會在程序退出的路徑下生成一個gmon.out文件,用來保存監控數據。從而通過gprof來解讀數據對程序進行分析。

          

三、GProfile用法

      1、在編譯時加入參數 -pg就可以打開GProfile的開關。

      2、gprof只查看用戶函數信息,不能對庫函數進行查看。 如果想查看庫函數的信息,在編譯時加入"-lc_p"編譯參數代替"-lc"編譯參數,這樣程序會鏈接libc_p.a庫,就可以查看庫函數的信息了。 
  3、 gprof只能在程序正常結束退出之后才能生成程序測評報告,原因是gprof通過在atexit()里注冊了一個函數來產生結果信息,任何非正常退出都不會執行atexit()的動作,所以不會產生gmon.out文件。如果你的程序是一個不會退出的服務程序,那就只有修改代碼來達到目的。如果不想改變程序的運行方式,可以添加一個信號處理函數解決問題(這樣對代碼修改最少),例如: 
  static void sighandler( int sig_no ) 
  { 
  exit(0); 
  } 
  signal( SIGUSR1, sighandler ); 
  當使用kill -USR1 pid 后,程序退出,生成gmon.out文件。 

 

四、GProfile舉例


#include 
<stdio.h> 

  
int ppp(int a) 

  


     
int i, b; 

     b 
= 0

     
for(i = 0; i<1000000; i++

        b
++

     }
 

     
return 0

  }
 

 


  
int prime(int n) 

  


     
int i, j, b; 

     b 
= 0

     
for(i=2; i<n; i++

         
for(j = 0; j<1000000; j++

              b
++

         }
 

         
if(n%== 0

           
return 0

         
return 1

        }
 

   }
 

  


   
int main(void

   


      
int i, n; 

      n 
= 1000

      
for(i=2; i<=n; i++

         
if(prime(i)) 

            ppp(i); 

         }
 

      }
 

      
return 0

   }
 

編譯程序:gcc -pg -o test test.c
  運行源程序./test后會生成一個gmon.out的文件
   分析結果:gprof -b test gmon.out
 

  

 

 五、GProfile對于結果的分析

      -b 不再輸出統計圖表中每個字段的詳細描述。 
  -p 只輸出函數的調用圖(Call graph的那部分信息)。 
  -q 只輸出函數的時間消耗列表。 
  -e Name 不再輸出函數Name 及其子函數的調用圖(除非它們有未被限制的其它父函數)。可以給定多個 -e 標志。一個 -e 標志只能指定一個函數。 
  -E Name 不再輸出函數Name 及其子函數的調用圖,此標志類似于 -e 標志,但它在總時間和百分比時間的計算中排除了由函數Name 及其子函數所用的時間。 
  -f Name 輸出函數Name 及其子函數的調用圖。可以指定多個 -f 標志。一個 -f 標志只能指定一個函數。 
  -F Name 輸出函數Name 及其子函數的調用圖,它類似于 -f 標志,但它在總時間和百分比時間計算中僅使用所打印的例程的時間。可以指定多個 -F 標志。一個 -F 標志只能指定一個函數。-F 標志覆蓋 -E 標志。 
  -z 顯示使用次數為零的例程(按照調用計數和累積時間計算)。 

      GProfile的詳細請參考:http://www.cs.utah.edu/dept/old/texinfo/as/gprof.html

      這個文檔對GProfile說的很詳細,很好。


posted on 2012-10-26 15:41 jackdong 閱讀(1209) 評論(0)  編輯 收藏 引用 所屬分類: 性能分析工具

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品日韩在线播放| 欧美激情亚洲国产| 蜜桃av一区| 狠狠色丁香久久婷婷综合丁香| 久久精品一本| 亚洲精品日产精品乱码不卡| 国内外成人在线| 玖玖精品视频| 毛片一区二区三区| 日韩网站在线| 亚洲嫩草精品久久| 国产日本精品| 欧美视频中文一区二区三区在线观看 | 亚洲视频免费在线| 国产精品美女一区二区| 久久精品亚洲| 欧美成人首页| 午夜视频一区二区| 久久久久久久久久久一区| 在线播放豆国产99亚洲| 亚洲成人资源| 国产精品wwwwww| 欧美大尺度在线| 国产精品午夜在线观看| 91久久久久久久久| 激情成人在线视频| 亚洲欧美日韩中文播放| 一区二区三区高清视频在线观看| 久久久精品网| 国产精品色婷婷| 亚洲精品在线视频| 91久久精品国产91久久性色| 午夜亚洲一区| 久久gogo国模啪啪人体图| 国产精品国产三级国产专播精品人| 欧美3dxxxxhd| 亚洲人成网站在线播| 美日韩精品视频| 欧美成人精品一区| 亚洲国产va精品久久久不卡综合| 久久国产精品99国产精| 小处雏高清一区二区三区 | 性欧美超级视频| 99在线|亚洲一区二区| 奶水喷射视频一区| 91久久精品www人人做人人爽| 亚洲欧美综合v| 久久天天躁狠狠躁夜夜av| 好吊色欧美一区二区三区视频| 久久gogo国模裸体人体| 免费欧美在线视频| 99这里只有久久精品视频| 欧美日韩在线视频观看| 亚洲特黄一级片| 毛片基地黄久久久久久天堂| 日韩一级大片| 国产综合精品| 欧美日韩亚洲三区| 欧美一站二站| 一区二区三区欧美激情| 久热综合在线亚洲精品| 亚洲视频综合| 在线免费观看日本一区| 久久er精品视频| 国产日韩欧美综合一区| 欧美伊人精品成人久久综合97| 亚洲国产老妈| 欧美有码视频| 亚洲婷婷国产精品电影人久久| 国产在线精品一区二区夜色| 欧美精品乱码久久久久久按摩| 亚洲欧美综合精品久久成人 | 欧美成人四级电影| 亚洲性色视频| 99精品黄色片免费大全| 亚洲高清不卡在线观看| 国产亚洲免费的视频看| 国产精品日韩一区二区| 国产精品久久久久9999吃药| 欧美激情综合网| 美腿丝袜亚洲色图| 美日韩精品视频免费看| 免费不卡在线观看| 久久中文精品| 久久国产精品亚洲va麻豆| 午夜精品久久久久久久久久久久| 亚洲视频第一页| 午夜欧美精品久久久久久久| 亚洲欧美韩国| 久久久久久久999| 欧美sm重口味系列视频在线观看| 另类专区欧美制服同性| 亚洲电影av在线| 亚洲精品国产精品乱码不99| 一本一道久久综合狠狠老精东影业 | 欧美日韩在线观看视频| 国产精品裸体一区二区三区| 国产伦精品一区二区三区免费| 国产欧美精品日韩| 亚洲国产精品成人综合| 亚洲视频福利| 久久亚洲综合色| 亚洲精品女人| 亚洲午夜精品久久| 久久在线视频在线| 欧美性一区二区| 亚洲国产裸拍裸体视频在线观看乱了中文 | 亚洲激情专区| 午夜在线成人av| 欧美fxxxxxx另类| 国产精品视区| 一区二区成人精品| 国内成人精品视频| 亚洲一二三区在线| 欧美电影免费观看网站| 欧美一级片一区| 国产精品久久久久免费a∨| 亚洲精品老司机| 亚洲高清123| 亚洲一区二区免费视频| 午夜免费久久久久| 久久久久国产精品人| 亚洲欧美一区二区视频| 国产精品久久夜| 午夜亚洲伦理| 亚洲欧美日本伦理| 国产一区欧美日韩| 老司机凹凸av亚洲导航| 久久都是精品| 在线欧美日韩国产| 亚洲国产精品福利| 久久手机精品视频| 久久国产精品一区二区三区四区| 国产日本欧洲亚洲| 欧美国产第二页| 欧美手机在线| 欧美一区二区三区日韩| 久久国产福利| 亚洲视频国产视频| 欧美在线亚洲一区| 亚洲区免费影片| 香蕉视频成人在线观看| 亚洲国产日韩欧美综合久久| 夜夜狂射影院欧美极品| 国产一级久久| 亚洲美女性视频| 亚洲盗摄视频| 亚洲影音一区| 最近中文字幕mv在线一区二区三区四区| 亚洲经典视频在线观看| 国产一区二区三区四区老人| 91久久精品一区二区三区| 亚洲影院在线观看| 亚洲视频在线一区| 欧美日韩ab| 亚洲大胆人体视频| 国产亚洲成年网址在线观看| 9色精品在线| 久久久久国产精品厨房| 欧美在线视频不卡| 欧美午夜不卡影院在线观看完整版免费| 久久资源av| 激情综合在线| 久久婷婷丁香| 欧美高清hd18日本| 在线色欧美三级视频| 久久一区视频| 亚洲第一网站| 一区二区福利| 国产精品女主播在线观看| 一本色道久久| 亚洲欧美成人在线| 欧美国产第一页| 亚洲免费观看高清在线观看| 欧美久久婷婷综合色| 日韩天堂在线观看| 亚洲女人天堂成人av在线| 国产精品蜜臀在线观看| 久久精品国产99国产精品| 理论片一区二区在线| 99国产精品国产精品久久| 欧美日韩国产成人在线观看| 亚洲欧美不卡| 亚洲高清视频在线观看| 亚洲视频在线看| 亚洲国产mv| 国产精品日韩一区二区三区| 亚洲国产视频a| 久久偷窥视频| 欧美一区国产在线| 日韩视频在线观看国产| 国内一区二区三区| 国产精品久久久久久久久免费桃花| 一区二区免费在线观看| 亚洲第一福利在线观看| 国产欧美1区2区3区| 国产精品国产三级国产普通话三级 | 欧美电影在线播放| 亚洲在线视频免费观看| 日韩亚洲精品在线|