回首页 回首页 ◎ 设为首页  
◎ 收藏本站  
◎ 给我留言  
  
  首 页  C/C++教程  C++之父的FAQ  C/C++动向  C/C++源代码  C/C++误区  Unix/Linux  下载中心  乱七八糟  蚂蚁的Blog  
  当前位置:首 页 >> C/C++教程 >> C/C++ 技巧 >> [C/C++ 技巧] 提高程序效率的方法
最 近 更 新
[转][C++] 巧用 mutable推荐
[C++] 巧用模板定义谓词
巧用异或交换整型变量的值
宏的一个妙用
[C/C++ 技巧] 提高程序..推荐
[C/C++ 技巧] 产生随机..
[C/C++技巧]巧用数组减..推荐
巧用移位运算避免乘法运算
无条件循环
最 新 推 荐
[转][C++] 巧用 mutable推荐
[C/C++ 技巧] 提高程序..推荐
[C/C++技巧]巧用数组减..推荐
热 门 排 行
[C/C++ 技巧] 产生随机..
[C/C++ 技巧] 提高程序..推荐
巧用移位运算避免乘法运算
[C/C++技巧]巧用数组减..推荐
宏的一个妙用
[转][C++] 巧用 mutable推荐
无条件循环
巧用异或交换整型变量的值
[C++] 巧用模板定义谓词
站 内 搜 索

Web stdcpp.cn
关键词

搜索方式

搜索范围

精确匹配
广 告

[C/C++ 技巧] 提高程序效率的方法


来源:sourceforge 作者:Steve Summit 等级:精品
发布于2005-10-27 22:50 被读4681次 【字体:

    选择好的算法,小心地实现,同时确定程序不做额外的事。例如,即使世界上最优化的字符复制循环也比不上不用复制。当担心效率时,要保持几样事情在视野中,这很重要。首先,虽然效率是个非常流行的话题,它并不总是象人们想的那样重要。大多数程序的大多数代码并不是时间紧要的。当代码不是时间紧要时,通常把代码写得清楚和可移植比达到最大效率更重要。记住,电脑运行得非常非常快,那些看起来“低效率”的代码,也许可以编译得比较有效率,而运行起来也没有明显的延时。试图预知程序的“热点”是个非常困难的事。当要关心效率时,使用 profiling 软件来确定程序中需要得到关注的地方。通常,实际计算时间都被外围任务占用了(例如 I/O 或内存的分配),可以通过使用缓冲和超高速缓存来提高速度。即使对于时间紧要的代码,最无效的优化技巧是忙乱于代码细节。许多常被建议的“有效的代码技巧”,即使是很简单的编译器也会自动完成(例如,用移位运算符代替 2 的幂次方乘)。非常多的手动优化有可能使代码变得笨重反而使效率低下了,同时几乎不可移植。例如,也许可以在某台机器上提了速,但在另一台机器上去变慢了。任何情况下,修整代码通常最多得到线性性能提高;而更好的算法可以极大地提高程序运行效率。

    在修整象 i = i + 1 这样的代码前,记住你是在跟编译器打交道。对于 ++i,i += 1 和 i = i + 1,任何好的编译器都会生成完全一样的代码。使用任何一种形式只跟风格有关,而与效率无关。

    有关效率的更多讨论,以及当效率很重要时,如何提高效率的建议,可以从以下书中得到:

    Kernighan 和 Plauger 的 The Elements of Programming Style [K&P] 中的第七章
    Jon Bentley 的 Writing Efficient Programs [Bentley]

本文乃网上搜集得来,其版权归原作者和原出处所有。如有侵犯版权之处请与我联系,我将马上进行处理。



相关专题:暂无相关专题

上一篇:[C/C++ 技巧] 产生随机数的方法
下一篇:宏的一个妙用

共有评论 1 条 网友评分 2分 查看全部评论

游客:菜鸟爱CPP
评分:5
很久以前的一场争论得出了程序代码的可读性大于代码技巧

查看全部评论

【发表评论】 评分:1分 2分 3分 4分 5分


验证码:

Powered By Www.Xydw.COM Ver1.14 管理
Copyright © 2005-2006 蚂蚁的 C/C++ 标准编程 All Right Reserved. XCMS
粤ICP备06014124号   站长:Antigloss