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

全部博文(117)

文章存档

2011年(1)

2010年(10)

2009年(69)

2008年(37)

分类: LINUX

2009-04-18 22:17:45

做优化的时间太长了,分析很多事物都是以优化的思维来思考,可以说优化给了我分析事物的新的视角。
 
无处不是优化,所谓优化,就是满足一个需要,在原有的设计上不断的改进。
 
举几个例子
1、用户通过网络获得信息。
在刚开始,网络上面的信息比较少,那么用户只需要记住几个站点就可以了。而随着网络内容的增加,信息量越来越大,用户获得所需要的信息,成本越来越高。
这时,技术的变革,搜索引擎的出现,提高了用户获得信息的效率,这算的上是,使用更好的算法,来提高执行效率。
而当面临搜索更多个人信息时,需求产生了变化,这时传统的搜索引擎就不行了。一种新的技术随之出现,人肉搜索。
 
2、在系统部署方面
在信息化时代刚开始时,企业所用的软件还较小,起始的费用比较低,维护成本也很低,因此一般都是把软件买回来,自己安装和维护。
但当用户使用的软件系统越来越大时,初期成本和维护成本越来越高,企业负荷越来越大,这时需要优化。
云计算适时而出,其将用户所使用的软件集中起来,放在中心维护,而用户则根据软件使用付费。
这个模式和Linux下进程非常相像,在Linux中进程的代码段内存是共享的,数据段等则每个进程一个。
我们可以把企业类比成一个个进程,云计算类比成将各个进程公用的代码段,以此来提高效率。
 
3、为什么软件性能会越来越低。
在刚开始设计完成,程序的性能也许是好的,但当需求的不断增加,代码的改动,程序的性能却越来越慢。这里面有几个原因,需求变化时,我们不是去考虑软件在逻辑上怎么更加合理,而是怎么在现有代码上改动更加方便,这就导致代码随着需求变化,程序的逻辑越来越不合理,产生了偏移。
另外,当需求变化时,有些case已经不再会运行到了,这时我们往往不会去删除相应的逻辑,因为其有可能导致错误。对于需求变化,我们更愿意往上面加东西,而不是减东西。这就导致了代码越来越庞大,而且很多都是无用的代码。
软件如此,我们日常中的流程同样如此。比如说bug管理系统,有一天某个领导要求统计一下数据,这时他要求程序在录入bug时加上一个字段。可过了一段时间,领导不在要这个数据了,往往程序员还在继续多输入这么一个字段。
 
4、效率的提高,也许并不需要很大的工作量。
还是以bug管理来讲,一般我们都是通过网站的方式来管理bug的,每个程序员都需要不断的去网站上刷新,来看是否有新的bug。这样一个程序员对于bug的快速响应,就要看其刷新bug系统页面的频率了。如果其半天查询一次,那么其有可能浪费半天的时间。
可是如果我们让bug网站该程序员一有bug,就给该程序员发送一封邮件的话,假设用户的邮件是实时开着的,并且每个5分钟查询一下邮箱,那么我们就可以确保程序员对于bug的响应时间缩短到5分钟。
网站上加个邮件功能很容易,但其却很有可能会大规模的提高效率。
效率的提高与优化所花费的effor并不一定成正比,关键是你找对地方。
 
阅读(2025) | 评论(0) | 转发(0) |
0

上一篇:X Server 的优化

下一篇:android graphics

给主人留下些什么吧!~~