NTUGIEE_EDA 板


LINE

※ [本文转录自 C_and_CPP 看板] 作者: allall (allall) 看板: C_and_CPP 标题: [心得] gcc + gprof 做程式效能分析 - 以Dev-C++为例 时间: Sun Sep 4 10:13:02 2005 耶 标题不知道下得合不合适 首先跟各位说明, 这功能我也是昨天才知道的 @@ 所以内容可能会有许多错误 我自己对於这功能也还有些疑问 还烦请各位指点指点 使用环境 作业系统: Windows XP Home Edition IDE: Dev-C++ Version 4.9.9.1(语言:繁体中文) 参考文献: [1] gprof 看performance分析… from SuperD's Blog http://blog.superd.org/index.php?p=39 [2] 各种程式工具 binutils http://www.slat.org/project/software-map/v1.01/node57.html 简介: from [2] gprof: 用来显示程式的效率测试资讯(profiling)。通常在我们要试图提升程式 的执行效能时,我们必须要先知道程式的各部分到底花了多少时间来执行,如此 我们心里才能有个底,知道应该由那些部分先下手改进。然而,光从程式码本身 有时候很难评估到底那个部分最花时间,这时就可以靠这个工具程式帮忙了。 在测试前,首先必须在程式编译时加入效率测试资讯 (以 GCC 为例,编译时必 须加入 -pg 的参数),之後当我们执行程式之後,就会跑出一个 gmon.out 的 档案,该档案即内含了效率测试的结果,但它的格式是不可读的,这时就必须 用 gprof 将它读出来。 在 Dev-C++ 上该如何做? Step 1. 开启 profiling 功能 =============================================================== 工具 => 编译器选项 => 程式码产生/最佳化 => 程式执行统计(接下行) => 产生可供分析的执行统计资讯(由 No 改为 Yes) =============================================================== Step 2. 编译并执行你的程式码(注:需正常结束程式,不正常结束程式似乎会产生 0 位元组大小的 gmon.out),结束後,目录下应会产生一 gmon.out 档 Step 3. 看分析结果,即 gmon.out 的内容 ============================= 执行 => 执行结果统计分析 ============================= 就可看到报表了 (注:Dev-C++ 栏位的位数似乎有限制,超过五位数的位数,会跑到前一栏去) (解决方法: 命令列下印出, gprof 你编译後的执行档档名(例:xxx.exe) 或导出至档案, gprof 你编译後的执行档档名 > output.txt) (再注: 要先设定 path 让系统能找到 gprof.exe 例: C:\Dev-Cpp\bin 或抓 gprof.exe 到你程式的目录下 @@ ) 报表中提供的资讯:(我的解读可能有误,可参考原文说明) 参考图片: http://img376.imageshack.us/img376/7070/pic15qz.png
1. 各主要函式占执行时间的百分比 (% time 栏,似乎没有全列) 2. 概略的程式总执行时间 (Cumul. secs的最後一笔,没有全累积,应该算概略吧? 可以这样看吗? @@) 3. 各函式所花费的时间 (Self secs) 4. 各函式被呼叫的次数 (Calls) .... 下一个表显示各主副函式间呼叫与被呼叫与其间所花费的时间 参考图片: http://img376.imageshack.us/img376/632/pic23xa.png
如同上述,粗略的一篇说明文,还夹杂着许多问号 这有一些问题想要请问各位 1. 上面所提到的资讯解读问题,不知道有没有错 2. 我看到 Dev-C++ 中,有着最佳化的选项 =============================================================== 工具 => 编译器选项 => 程式码产生/最佳化 => 最佳化 =============================================================== 为什麽预设是 No 呢? 最佳化不是很好吗? 还是说开启後会有什麽样的危险呢? 谢谢大家 :) --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.224.83.45
1F:推 renderer:推 222.156.8.204 09/04
※ 编辑: allall 来自: 61.224.83.45 (09/04 10:27)
2F:推 SHBK:superD XD 220.140.79.4 09/04
--



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.230.224
3F:推 moonshade:我最近在徐gprof 61.217.194.122 09/04
4F:→ moonshade:学 61.217.194.122 09/04







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP