C++ Performance

本文探讨了C++软件性能的重要性及优化策略,推荐了几篇有价值的性能优化文档,并强调了从编写第一行代码开始就应注意性能问题。对于重要的应用软件而言,良好的性能能够延长其生命周期。

最近看了个文档 TR18015 C++ Performance.pdf, 又唤起了对性能问题的注意。这个文档可以从The C++ Standards Committee 得到:ISO/IEC TR 18015:2006 C++ Performance - draft TR 。虽然标称为draft,但好似完成了。

其实还有另外两个文档也不错:

1。Techniques for Scientific C++, 作者Todd VeldhuizenBlitz++库的作者,他是个C++牛人,看看他的论文,可以重建对C++的信心。

2。Intel.VTune.Performance.Analyzer 的文档,好像有一部分是在讲如何编写高效的代码,和一些优化的细节。具体的忘了。因为比较细节,可能和intel的CPU联系更紧一些,所以很少看到有人宣扬这些知识, 但我觉得很有用。

软件的性能问题到底重要否?当然重要,看看越来越慢的软件(以windows为首),就知道我们多么渴望高性能的软件了。

我知道流传一种讲法, 说是不用考虑性能先,先以设计架构为重。个人以为,那种想法是基本是以计算机资源是无限的(至少是很强大的)为前提。有些领域比较适合做这样的假设,计算机的有限性被框架(.net那个级别的框架)所处理,剩下的只需要在框架下完成领域的事情就可以了,这类软件,充分体现设计的重要性,至于代码,雇佣“代码工人”就可以完成了。

谁愿意被视为“代码工人”?所以我选择C++,对于比较重要的应用软件来说,性能是很重要的问题。因为它可能会被天天使用,就和我天天需要使用vs2005一样(天天忍受2005智能解析的速度的折磨)。如果不及早注意性能问题,等醒悟的时候,为时已晚,你会指望,编译器把烂代码优化得像飞一样快?或者指望用户买更快的CPU和更大的内存?虽然软件比电脑要贵得多,但大家都习惯于骂软件慢,宁愿用速度较快的旧版本也不愿换个新电脑,在中国尤其这样。

应该强掉:注意性能,并且从每一行代码做起。 拥有优秀的程序员和优良的代码才能有更大的优化空间。别忘记,软件基本上是一直膨胀的,代码将持续膨胀到软件死亡那一天。软件也是越看来越慢的,而且随着代码的膨胀和兼容的负担,添加新功能将越来越难,等到改不动,卖不掉的那一天,软件就被抛弃了。如果平时注意性能,质量,至少软件会活的长一点。

性能问题有很多个级别,我强调的是最底层的,程序员级别的。包括我所列的文档也是这个级别的。用汇编当然能有更好的性能,但你得不到更好的软件。用C很难得到处理复杂问题的软件,而且对于明白C++的人,并不会无缘无故的比C慢。所以C++是个很好的选择。

有个担心,微软会把C++给害了,就象borland对待dephi那样。 依赖windows的C++程序员可为数不少,微软越来越不重视这个穷体,太不仁道了。如果能设计一个很强大又很难学的windows类库,我们就有脱贫致富的希望了。

C++标准委员会做的就很好。看着几乎膨胀了50%的C++新标准,感觉很有钱途。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值