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

gprof——GNU性能分析工具

Posted on 2013-04-22 16:39 天邊藍(lán) 閱讀(1118) 評論(0)  編輯 收藏 引用 所屬分類: Linux
轉(zhuǎn)載至http://www.cnblogs.com/feisky/archive/2010/03/09/1681997.html

gprof介紹

gprof是GNU profiler工具。可以顯示程序運(yùn)行的“flat profile”,包括每個函數(shù)的調(diào)用次數(shù),每個函數(shù)消耗的處理器時(shí)間。也可以顯示“調(diào)用圖”,包括函數(shù)的調(diào)用關(guān)系,每個函數(shù)調(diào)用花費(fèi)了多少時(shí)間。還可以顯示“注釋的源代碼”,是程序源代碼的一個復(fù)本,標(biāo)記有程序中每行代碼的執(zhí)行次數(shù)。

為gprof編譯程序


在編譯或鏈接源程序的時(shí)候在編譯器的命令行參數(shù)中加入“-pg”選項(xiàng),編譯時(shí)編譯器會自動在目標(biāo)代碼中插入用于性能測試的代碼片斷,這些代碼在程序在運(yùn)行時(shí)采集并記錄函數(shù)的調(diào)用關(guān)系和調(diào)用次數(shù),以及采集并記錄函數(shù)自身執(zhí)行時(shí)間和子函數(shù)的調(diào)用時(shí)間,程序運(yùn)行結(jié)束后,會在程序退出的路徑下生成一個gmon.out文件。這個文件就是記錄并保存下來的監(jiān)控?cái)?shù)據(jù)。可以通過命令行方式的gprof或圖形化的Kprof來解讀這些數(shù)據(jù)并對程序的性能進(jìn)行分析。另外,如果想查看庫函數(shù)的profiling,需要在編譯是再加入“-lc_p”編譯參數(shù)代替“-lc”編譯參數(shù),這樣程序會鏈接libc_p.a庫,才可以產(chǎn)生庫函數(shù)的profiling信息。如果想執(zhí)行一行一行的profiling,還需要加入“-g”編譯參數(shù)。
例如如下命令行:gcc -Wall -g -pg -lc_p example.c -o example

Gprof基本用法:

1. 使用 -pg 編譯和鏈接你的應(yīng)用程序。

2. 執(zhí)行你的應(yīng)用程序使之生成供gprof 分析的數(shù)據(jù)。

3. 使用gprof 程序分析你的應(yīng)用程序生成的數(shù)據(jù)。

$gprof -b a.out gmon.out      
Flat profile:

Each sample counts as 0.01 seconds.
no time accumulated

  %   cumulative   self              self     total          
time   seconds   seconds    calls  Ts/call  Ts/call  name   
  0.00      0.00     0.00        1     0.00     0.00  function

                        Call graph

granularity: each sample hit covers 2 byte(s) no time propagated

index % time    self  children    called     name
                0.00    0.00       1/1           main [8]
[1]      0.0    0.00    0.00       1         function [1]
-----------------------------------------------

Index by function name

   [1] function

gprof產(chǎn)生的信息


%                        the percentage of the total running time of the
time                     program used by this function.
                           函數(shù)使用時(shí)間占所有時(shí)間的百分比。
cumulative          a running sum of the number of seconds accounted
seconds             for by this function and those listed above it.
                           函數(shù)和上列函數(shù)累計(jì)執(zhí)行的時(shí)間。
self                    the number of seconds accounted for by this
seconds             function alone.  This is the major sort for this
                          listing.
                          函數(shù)本身所執(zhí)行的時(shí)間。
calls                   the number of times this function was invoked, if
                          this function is profiled, else blank.
                          函數(shù)被調(diào)用的次數(shù)
self                   the average number of milliseconds spent in this
ms/call               function per call, if this function is profiled,
                         else blank.
                          每一次調(diào)用花費(fèi)在函數(shù)的時(shí)間microseconds。
total                  the average number of milliseconds spent in this
ms/call               function and its descendents per call, if this
                          function is profiled, else blank.
                          每一次調(diào)用,花費(fèi)在函數(shù)及其衍生函數(shù)的平均時(shí)間microseconds。
name                 the name of the function.  This is the minor sort
                          for this listing. The index shows the location of
                          the function in the gprof listing. If the index is
                          in parenthesis it shows where it would appear in
                          the gprof listing if it were to be printed.
                          函數(shù)名

命令格式

gprof [可執(zhí)行文件] [gmon.out文件] [其它參數(shù)]

方括號中的內(nèi)容可以省略。如果省略了“可執(zhí)行文件”,gprof會在當(dāng)前目錄下搜索a.out文件作為可執(zhí)行文件,而如果省略了gmon.out文件,gprof也會在當(dāng)前目錄下尋找gmon.out。其它參數(shù)可以控制gprof輸出內(nèi)容的格式等信息。最常用的參數(shù)如下:

l -b 不再輸出統(tǒng)計(jì)圖表中每個字段的詳細(xì)描述。

l -p 只輸出函數(shù)的調(diào)用圖(Call graph的那部分信息)。

l -q 只輸出函數(shù)的時(shí)間消耗列表。

l -e Name 不再輸出函數(shù)Name 及其子函數(shù)的調(diào)用圖(除非它們有未被限制的其它父函數(shù))。可以給定多個 -e 標(biāo)志。一個 -e 標(biāo)志只能指定一個函數(shù)。

l -E Name 不再輸出函數(shù)Name 及其子函數(shù)的調(diào)用圖,此標(biāo)志類似于 -e 標(biāo)志,但它在總時(shí)間和百分比時(shí)間的計(jì)算中排除了由函數(shù)Name 及其子函數(shù)所用的時(shí)間。

l -f Name 輸出函數(shù)Name 及其子函數(shù)的調(diào)用圖。可以指定多個 -f 標(biāo)志。一個 -f 標(biāo)志只能指定一個函數(shù)。

l -F Name 輸出函數(shù)Name 及其子函數(shù)的調(diào)用圖,它類似于 -f 標(biāo)志,但它在總時(shí)間和百分比時(shí)間計(jì)算中僅使用所打印的例程的時(shí)間。可以指定多個 -F 標(biāo)志。一個 -F 標(biāo)志只能指定一個函數(shù)。-F 標(biāo)志覆蓋 -E 標(biāo)志。

l -z 顯示使用次數(shù)為零的例程(按照調(diào)用計(jì)數(shù)和累積時(shí)間計(jì)算)。

不過,gprof不能顯示對象之間的繼承關(guān)系,這也是它的弱點(diǎn).

Copyright © 天邊藍(lán)

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲人成人99网站| 免费亚洲电影在线观看| 久久久久久一区| 久久国内精品自在自线400部| 亚洲欧美国产另类| 亚洲欧美久久久| 欧美在线视频一区二区三区| 久久久久久尹人网香蕉| 欧美h视频在线| 日韩亚洲一区二区| 亚洲欧美在线免费观看| 久久精品理论片| 欧美电影免费观看高清| 欧美日韩一本到| 国产深夜精品福利| 一区二区三区在线免费视频 | 国产精品一区久久久久| 国产精品视频成人| 国内一区二区三区在线视频| 亚洲福利一区| 亚洲综合不卡| 欧美国产亚洲另类动漫| 一区二区三区福利| 久久久久天天天天| 欧美天堂亚洲电影院在线播放| 国产精品久久久久av| 蜜臀99久久精品久久久久久软件| 欧美高清视频在线观看| 一本一本大道香蕉久在线精品| 欧美在线关看| 欧美久久一级| 亚洲成色www久久网站| 亚洲一区二区三区在线播放| 卡一卡二国产精品| 亚洲性视频网址| 欧美国产日韩视频| 国产一区二区精品久久91| 夜夜嗨av一区二区三区网页| 麻豆国产精品一区二区三区 | 一区二区三区在线观看欧美| 亚洲一区二区毛片| 亚洲黄色天堂| 欧美在线视频二区| 欧美午夜精品久久久久免费视| 国产综合第一页| 亚洲欧美一区二区精品久久久| 亚洲国产成人午夜在线一区| 久久精品一区二区三区不卡| 国产麻豆精品theporn| 亚洲桃色在线一区| 91久久国产综合久久91精品网站| 久久激情视频久久| 国产亚洲一区二区三区在线观看 | 亚洲国产日韩美| 久久精品二区亚洲w码| 亚洲午夜电影网| 欧美香蕉视频| 亚洲欧美日韩国产成人| 一区二区三区四区五区视频 | 午夜精品久久久久久久99热浪潮| 亚洲免费福利视频| 欧美日本不卡视频| 99riav1国产精品视频| 亚洲国产日韩综合一区| 欧美国产日韩一二三区| 亚洲精选中文字幕| 亚洲人成在线播放| 欧美精品在欧美一区二区少妇| 日韩亚洲欧美在线观看| 亚洲精品视频啊美女在线直播| 欧美乱人伦中文字幕在线| 一本一道久久综合狠狠老精东影业| 亚洲区国产区| 国产精品高潮呻吟久久av黑人| 国产精品久久久久国产精品日日 | 欧美国产综合| 在线视频亚洲一区| 亚洲视频网站在线观看| 国产精品一区免费观看| 久久视频在线看| 榴莲视频成人在线观看| 日韩视频一区| 亚洲欧美在线另类| 亚洲高清不卡av| 亚洲精品乱码久久久久| 国产精品一区二区在线观看网站 | 欧美绝品在线观看成人午夜影视 | 欧美视频在线视频| 欧美一级播放| 另类激情亚洲| 亚洲欧美在线免费| 久久婷婷丁香| 亚洲欧美国产一区二区三区| 久久精品一二三区| 在线综合欧美| 久久亚洲精选| 亚洲免费综合| 麻豆精品在线播放| 欧美一区二区视频在线| 美女黄色成人网| 亚洲欧美中日韩| 蜜桃久久精品一区二区| 欧美一区二区三区在线播放| 欧美jizz19性欧美| 久久国产一区| 欧美日韩在线播放三区四区| 免费观看成人网| 国产精品色网| 亚洲美女黄网| 亚洲国产精品尤物yw在线观看| 制服丝袜亚洲播放| 亚洲久久视频| 久久婷婷人人澡人人喊人人爽 | 亚洲一区二区四区| 久久这里只有| 久久riav二区三区| 欧美日韩中文字幕| 亚洲盗摄视频| 一区二区三区无毛| 午夜视频一区| 亚洲免费在线观看视频| 欧美久久久久免费| 亚洲国产美女| 91久久一区二区| 久久婷婷麻豆| 另类av一区二区| 国产一区二区黄| 性欧美超级视频| 亚洲国产精品传媒在线观看 | aa级大片欧美| 国产精品永久免费| 亚洲免费观看高清完整版在线观看熊| 亚洲一区二区成人| 亚洲午夜久久久| 国产精品高潮久久| 国产女主播在线一区二区| 精品1区2区3区4区| 亚洲欧美国产精品专区久久| 亚洲视频一区| 欧美午夜精品久久久| 99热这里只有精品8| 99国产精品国产精品毛片| 欧美电影在线观看| 亚洲国产另类久久久精品极度| 亚洲欧洲精品一区二区精品久久久| 久久久之久亚州精品露出| 久热精品视频在线免费观看 | 欧美激情综合色综合啪啪| 亚洲电影免费观看高清完整版| 亚洲国产精品第一区二区| 欧美电影电视剧在线观看| 亚洲精品美女久久7777777| 一区二区三区视频在线看| 国产精品成人观看视频免费 | 亚洲欧美色一区| 久久噜噜亚洲综合| 亚洲国产精品一区制服丝袜| 欧美国产日本韩| 亚洲一区二区在线视频| 久久精品在线免费观看| 影音先锋一区| 欧美精品一线| 欧美一级黄色网| 亚洲成人自拍视频| 亚洲一区二区成人在线观看| 国产专区精品视频| 欧美日韩不卡一区| 欧美一级电影久久| 亚洲国产精品国自产拍av秋霞| 亚洲先锋成人| 经典三级久久| 欧美视频专区一二在线观看| 欧美主播一区二区三区| 亚洲激情专区| 久久国产精品久久久| 亚洲伦伦在线| 国产色视频一区| 欧美日韩视频一区二区三区| 欧美一区二区三区四区在线观看地址 | 欧美日本国产视频| 亚洲欧美在线免费观看| 亚洲国产成人一区| 久久国产加勒比精品无码| 亚洲乱码日产精品bd| 国产中文一区二区| 欧美视频一区二| 欧美sm极限捆绑bd| 久久国产精品72免费观看| 亚洲精品在线电影| 欧美第一黄色网| 久久久久久成人| 午夜精品一区二区三区在线播放 | 亚洲精品乱码久久久久久| 鲁大师影院一区二区三区| 亚洲一区www| 亚洲精品字幕| 亚洲第一区中文99精品| 国产午夜亚洲精品理论片色戒| 欧美日韩视频在线观看一区二区三区| 久久免费视频观看|