Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3146600
  • 博文数量: 117
  • 博客积分: 10003
  • 博客等级: 上将
  • 技术积分: 5405
  • 用 户 组: 普通用户
  • 注册时间: 2007-01-23 09:34
文章分类

全部博文(117)

文章存档

2011年(1)

2010年(10)

2009年(69)

2008年(37)

分类: LINUX

2009-09-11 12:15:27

进程的启动是软件优化的一个很重要的领域,我总结的优化方法和步骤如下:
1、使用strace跟踪进程的启动过程。
   好处是不用修改代码,简单、方便。这时主要的精力放在观察进程在启动的时候,都做了哪些事情,是不是有些冗余的事情。如果找到可疑点,再进入到代码进行相应的查找。
 
2、在main函数的第一句和显示出来的地方加如一些log,观察在进程启动到main函数以及main函数到显示出来部分时间的比例。
 
3、如果是进程启动到main函数用时比较长,则可以采用以下方法
    去除冗余的动态库
    某些动态库改为dlopen的方式
    使用LD_HELP跟踪动态库加载的过程,
    动态库的初始化函数优化
 
4、如果是main函数之后时间较长,这时一般是顺序执行一大堆事情,没有太明显的热点函数,使用oprofile的效果不太理想,不过也可以试一试。
    在程序中多加入一些log,查找用时较长的部分,进行优化。
 
5、如果以上方法还是无效,可以采用调度的方式进行优化。
   比如说preload等等。
阅读(2117) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~