免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1884 | 回复: 4
打印 上一主题 下一主题

有没有什么程序优化的工具推荐? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-01-06 17:27 |只看该作者 |倒序浏览
一个应用程序,代码几万行,函数也一大堆,主要用于数据处理的,执行速度不太理想,
有没有什么程序优化类的工具推荐一下?
比如说能找到运行次数或时间最长的函数。

现在用一个叫 gprof 的工具,但是感觉不太好用(也可能是我还没掌握用法),先贴出来,抛砖引玉吧。
http://www-128.ibm.com/developerworks/cn/linux/l-gnuprof.html

论坛徽章:
0
2 [报告]
发表于 2007-01-06 17:35 |只看该作者
优化的含义到底是什么?

论坛徽章:
0
3 [报告]
发表于 2007-01-08 20:19 |只看该作者
原帖由 longshort 于 2007-1-6 17:35 发表
优化的含义到底是什么?

哦,这个没说清阿,呵呵。
一般来说优化指时间或空间方面的优化,
我想要的是时间上的性能,因为是大量数据处理,因此对速度要求比较高,也就是说时间开销要尽可能小。
个人觉得空间方面的优化比较好做,因为根据代码计算一下就知道大概那里使用的内存较多,而时间方面的就很难估计了,但从语句上很难看出来那些语句造成了时间大量损耗

论坛徽章:
0
4 [报告]
发表于 2007-01-09 23:10 |只看该作者
gprof就可以了,不然你可以试试intel vtune

论坛徽章:
0
5 [报告]
发表于 2007-01-10 09:42 |只看该作者
哦,这个没说清阿,呵呵。
一般来说优化指时间或空间方面的优化,
我想要的是时间上的性能,因为是大量数据处理,因此对速度要求比较高,也就是说时间开销要尽可能小。
个人觉得空间方面的优化比较好做,因为根据代码计算一下就知道大概那里使用的内存较多,而时间方面的就很难估计了,但从语句上很难看出来那些语句造成了时间大量损耗

原来您是这个意思。

如果您是使用的x86平台,那么是不是优化是无关紧要的。自从486系列以来,编译器对优化所做的工作已经不能使程序有明显的效果了,原因就是处理器本身的性能提高和硬件内部结构的优化,使程序的优化不再敏感。

特别是,为提高处理器在存储器中的索引效果,所有的“优化”都是处理为每一个函数都从十六进制的整数倍地址开始执行,而函数与函数之间产生的空间,则用空操作语句来填满。显然,优化的结果是使程序增大了。

实际上,时间上的性能只有两个方面可以保证:处理器性能和您的编程风格。
而时间方面的就很难估计了,但从语句上很难看出来那些语句造成了时间大量损耗

这是您必须做的工作,否则永远也提升不了您的水准——抱歉我用这样的语言!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP