如何提高程序性能
以前看cpp代码优化时,见一个做网络的前辈做了个总结,我一直印象深刻,特转帖如下: 真正高性能的程序设计: more small, more fast more simple, more fast 现代计算机的体系,速度往往取决于CPU cache 的命中情况。因此,更小、更简单的代码往往会获得更好的性能。 -- 删除冗余代码,和一般理解相反,放在那里不动的代码即使没有使用也会影响系统的性能。 -- 不要低估或者高估编译器的优化,除了代码本身所能提供的信息以外,编译器永远不知道你到底要做什么。 -- 不要梦想复用,在代码级重复使用你代码的可能性接近于0 -- 层层的封装是效率的杀手 -- 动态运行时解析,类型….带来的问题远远大于所承诺的好处。 -- 专用、专用再专用,把你的代码限制在一个非常具体的场景中,通用的代码往往意味着低效、潜在的误用和其他错误。 -- 不要做期待之外的事情,所有的bonus都是要付出代价的! -- 优化最常见的情况,而不是最糟糕的情况。 -- 内存分配和释放是非常昂贵的操作(从时间上,稳定性上都是) -- 不要想象,使用工具观察你的代码,vTune或者gProf等等,只有这样才能发现真正的瓶颈所在。 |