• 网络学院
  • IT资讯
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
程序性能分析
  站点:
  • 首 页
  • 最新软件
  • 文章教程
  • 国内软件
  • 国外软件
  • 绿色软件
  • 源码下载
  • 字体下载
程序性能分析
软件发布 程序性能分析
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件 绿软下载
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回文章教程首页 >> 操作系统 >> UNIX >> FreeBSD >> 程序性能分析

程序性能分析

添加时间: 2005-6-6 23:21:07  作者: 网络收集  阅读次数:186   来源: http://d9soft.com

       

    当编写程序的时候,有时希望最大程度的优化程序,得到一个高性能的程序。基本上,一个程序中最消耗系统资源的代码量其实非常少,大部分代码实际上只可能执行一次,甚至一次都没有被执行过,对于这些部分进行优化毫无意义。

    因此找出程序或中那些部分的代码最为重要,根据这些地方进行优化才能达到优化性能的目的。这就要求深入程序内部或内核内部,对程序进行分析,这就需要进行程序分析。

1) 程序基本性能
    普通应用程序执行所消耗的处理器资源可以使用系统命令 time来执行这个应用程序,这能得到应用程序整体性能。


$ /usr/bin/time echo

0.00 real 0.00 user 0.00 sys


    系统命令 time将报告相应的命令执行所消耗的全部处理器时间real,用户进程所消耗的处理器时间user,以及进程调用系统调用所消耗的处理器时间sys。

    注意,在 csh内部带有一个内建的time命令,如果使用csh,那么就会首先直接使用这个内部命令而不是外部的系统程序,因此前面例子中使用了全路径来指明使用系统指令/usr/bin/time。csh内部time和系统time指令功能相同,但显示方式略有不同。

通过上面的步骤分析系统状态,就可以得到程序运行的基本信息。然而,这些信息只能告诉程序作为一个整体表现出来的性能。

2) 应用程序分析
    为了分析程序的性能,系统需要安装 proflibs安装组件,以便支持系统性能分析器gprof。如果系统没有安装该组件,需要从安装介质上重新安装。

此后,首先需要使用特殊的选项 ” -pg ” 重新编译程序,以便程序中被编译入必要的分析代码,并执行编译好的程序。


$ cc -pg -o hello hello.c

$ ./hello


    那么该程序中的分析代码就会在同样目录下产生命名为 hello.gmon的文件,这个文件将包括程序中所有重要代码的执行过程信息,然后,就可以使用gprof对其进行分析。


$ gprof -b hello hello.gmon

参数 ” -b ” 用来使 gprof不要输出一些描述性的文字。Gprof的输出可以分为三个部分,第一部分为程序之间的关系,主要描述函数之间的关系,以及它们被调用的次数。

第二部分为每个函数被调用的次数,以及相应消耗的处理器时间。第三部分为函数的索引与名字的对应。

每个部分之间使用 ^L分开,如果使用行式打印机,这个符号将使打印机走纸,在新的一页重新打印。

从 gprof的分析结果可以看出哪些内部函数被执行次数较多,需要进行优化,以提高程序性能。

 

上下文章:

 

上一篇文章: 可执行程序格式 下一篇文章: 编译器GCC

相关文章:

  • Vista驱动程序兼容性另微软汗颜
  • 后门程序变种现身互联网
  • 分析师:雅虎有4个理由接受微软收购搜索业务
  • 谷歌发布Gmail小程序 增加快速查阅等功能
  • 从公测内容展示视频分析《永恒之塔》

相关软件:

  • 终极程序加密器 3.25
  • 双色球大赢家彩票分析软件 V3.07 正式版
  • 聪慧幼儿园营养分析软件 v6.0
  • 中小学成绩统计分析系统 (教委与学校通用企业版) V4.01
  • 木马分析专家 2008 9.95 Build 1016
  • 木马分析专家个人防火墙 2008 1016

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

UNIX分类导航

  • Unix
  • Solaris
  • FreeBSD
  • OpenBSD

本类经典文章推荐

  • FreeBSD的起源
  • FreeBSD的起源和发展
  • 当前FreeBSD的版本
  • FreeBSD的功能特点
  • 使用FreeBSD的实例
  • FreeBSD的相关资源
  • FreeBSD 5.0新特性
  • 内核调度实体KSE和线程实现
  • 准备硬件
  • 安装FreeBSD

FreeBSD阅读排行

  • 系统安装程序
  • 设置fstab文件
  • Unix的历史发展
  • 基本网络诊断工具
  • 文件的连接和符号连接
  • 网络划分
  • 输入输出重定向和管道
  • 配置系统时间
  • 定时执行程序
  • 内核调度实体KSE和线程实现

UNIX阅读总排行

  • 系统安装程序
  • 设置fstab文件
  • Unix的历史发展
  • 基本网络诊断工具
  • 文件的连接和符号连接
  • 网络划分
  • 输入输出重定向和管道
  • 配置系统时间
  • 定时执行程序
  • 内核调度实体KSE和线程实现

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有