易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux下程序的Profile工具

Linux下程序的Profile工具
我们在写程序,特别是嵌入式程序的时候,通常需要对程序的性能进行分析,以便程序能够更快更好地运行,达到实时(real-time)的目的。如果程序很大,分析起来就很困难。如果有个工具能够自动进行程序的性能分析,那就最好了。这里介绍一种Linux下程序的Profiling工具----GNU profiler。
GNU gprof能够打印出程序运行中各个函数消耗的时间,可以帮助程序员找出众多函数中耗时最多的函数。产生程序运行时候的函数调用关系,包括调用次数,可以帮助程序员分析程序的运行流程。有 了函数的调用关系,这会让开发人员大大提高工作效率,不用费神地去一点点找出程序的运行流程,这对小程序来说可能效果不是很明显,但对于有几万,几十万代 码量的工程来说,效率是毋庸置疑的!而且这个功能对于维护旧代码或者是分析Open Source来说那是相当诱人的,有了调用图,对程序的运行框架也就有了一个大体了解,知道了程序的“骨架“,分析它也就不会再那么茫然,尤其是对自己不 熟悉的代码和Open Source。
gprof的基本用法:
1. 使用 -pg 选项编译和链接你的应用程序
   
    在gcc编译程序的时候,加上-pg选项,例如:
    gcc -pg -o test test.c
    这样就生成了可执行文件test。如果是大项目,就在makefile里面修改编译选项,-pg放在那里都行。
2. 执行你的应用程序使之生成供gprof 分析的数据
    运行刚才的程序:./test,这样就生成了一个gmon.out文件,该文件就包含了profiling的数据。
3. 使用gprof 分析你的应用程序生成的数据
    gprof test gmon.out > profile.txt
    使用上面的命令,gprof就可以分析程序test的性能,将profiling的结果放在profile.txt文件中,打开就可以看到分析的结果。通过对结果的分析来改进我们的程序,从而达到我们的目的。
GNU gprof是个很不错的工具,大家写程序时可以多用用。我现在用gprof来profiling我的程序,把耗时最多的函数或运算找出来,用FPGA芯片实现,从而达到real-time的目的。
 
 
gprof使用介绍
gprof介绍
gprof是GNU profiler工具。可以显示程序运行的“flat profile”,包括每个函数的调用次数,每个函数消耗的处理器时间。也可以显示“调用图”,包括函数的调用关系,每个函数调用花费了多少时间


相关文档:

Ubuntu Linux操作系统下好用的下载工具


用过 aMule 都知道,无论怎么设置,它的速度都不令人满意。那么在 Ubuntu 下除了 mldonkey 还有什么好用的驴子?答案是 wine+emule,不用怎么设置速度轻轻松松就能达到峰值。这么做可能一些 Linux 死忠们会不屑,但无可否认 emule 绝对比 amule 优秀,既然能用为什么不用呢?在 Windows 上我都还用 mplayer 呢。
在 Ubu ......

[整理]Linux常用命令

文件系统挂载:mount
格式:mount [-参数] [设备名称] [挂载点]
其中常用的参数:
   -t  指定设备的文件系统类型,常见的有:
        minix linux最早使用的文件系统
        ext2 linux目前常用的文件系统
        msdo ......

Linux系统的Shell I/O重定向详解

I/O重定向详解及应用实例
1、 基本概念(这是理解后面的知识的前提,请务必理解)
a、 I/O重定向通常与 FD有关,shell的FD通常为10个,即 0~9;
b、 常用FD有3个,为0(stdin,标准输入)、1(stdout,标准输出)、2(stderr,标准错误输出),默认与keyboard、monitor、monitor有关;
c、 用 < 来改变读进的数 ......

很受欢迎的Linux笔记

 
linux目录架构
/   根目录
/bin    常用的命令
binary file 的目錄
/boot   存放系统启动时必须读取的档案,包括核心
(kernel) 在内
     /boot/grub/menu.lst   GRUB设置
     /boot/vmlinuz   内核
......

如何在Linux中添加新的系统调用

 系统调用是应用程序和操作系统内核之间的功能接口。其主要目的是使得用户
可以使用操作系统提供的有关设备管理、输入/输入系统、文件系统和进程控制、
通信以及存储管理等方面的功能,而不必了解系统程序的内部结构和有关硬件细
节,从而起到减轻用户负担和保护系统以及提高资源利用率的作用。
  Linux操作系统 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号