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

全部博文(117)

文章存档

2011年(1)

2010年(10)

2009年(69)

2008年(37)

分类: LINUX

2009-06-22 12:00:14

性能优化从大的范围来讲主要有3个范围:
1、软件优化方法论,也就是2/8法则。
2、算法和逻辑上的优化,这方面最重要的是要了解业务,与应用自身的逻辑密切相关。
3、代码的优化。
    代码的优化又可分下面几个层次:
        a、语法层面的优化,这部分的优化好处在于可移植性,与硬件平台无关。比如说C和C++性能的分析等。
        b、与机器相关的优化,这部分包括采用汇编指令、了解硬件自身的架构等等。
 
我现在所处的阶段,软件优化的方法论已经弄通。算法和逻辑上的优化,只是针对图形系统架构了解一些。在代码优化层面,针对ARM平台的C和C++语法层面和一些与机器相关的优化了解一些。
 
曾经对今后的优化生涯很迷茫,往算法和逻辑上的优化发展,那就需要深入到应用自身去,而这似乎与我做性能优化的方向相悖。
往机器相关方向去优化,在代码优化上做得更深,可实际上在我的优化实践中,用到机器相关的优化很少,大部分做到语法相关就足够了,再往深似乎无用了。
 
我还是想做一个软件优化的高手,我还是决定往机器相关优化去研究,学习ARM的汇编指令,争取能够做到能够把某一段逻辑的性能做到极致。在做到这一点之后,再深入到某一个具体的应用。
 
        
阅读(2341) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

cjc962009-08-31 16:33:44

我个人认为,一般程序的优化,逻辑上的优化的效果要大于机器和算法的优化,相对来说也要容易些。但是在一些共性和底层方面难度很大,不过效果也明显。优化我首先在业务逻辑上优化,次之算法的优化,不过也是相对简单的。指令级别的优化目前没有这个能力。

chinaunix网友2009-08-07 14:54:48

根据自己做过的项目看,软件优化最主要的还是内核选项和编译器选项优化 真正算法和语法方面的优化程度是很少的(除非刚入门的程序员写的程序)