杭州达内嵌入式培训火热招生中。。。|杭州达内c++培训火热招生中
您现在的位置: 杭州达内 >>C/C++>>C++开发:性能不等于效率
C++开发:性能不等于效率
杭州达内 - C/C++ 来源:达内培训 发布时间:2015-05-19 15:12


    国外的一位C++开发大师针对C++语言的简洁和性能提出了自己的见解,指出开发者不能为了性能而牺牲简洁性,要用工具来解决问题。

    C++强项在于写出非常高性能的代码,那么我们该如何把握性能处理的尺度?

    首先:性能不等于效率


    1.性能是我们做的有多快

    2.效率是需要多长时间去完成

    举个日常生活的例子,性能就是“走路程的捷径”,性能则是“跑步代替走路”

    对于程序来说,循环经常会耗费不少时间。该情况下,性能意味着“单个循环用时越短越好”,效率意味着“尽量降低循环层数”。

    然后:性能不是程序的一切

    新手程序员尤其会出这个问题,涉及代码性能优化的提问非常多。一般来说,80%的程序运行时间是由约20%代码决定的。把精力放在所有代码的优化上,而不重点主攻关键代码,才是较重要的。

    其次:如何写出高性能的代码?

    决定程序运行时长主要的因素是指令数的多少,它是由编译器及其优化器所控制的。 优化器种类繁多,此外还有很多不确定因素,难以写出高性能的代码,假如很在意性能,建议使用工具来辅助完成。 举例来说,使代码做到高性能,不存储结果的情况下,可以使用++iter来代替iter++。

    较后:性能和简单不矛盾

    影响程序运行时间的另一个重要因素是内存中数据的布局和结构。数据的内存布局不优良,会造成要花费很多时间来从获取数据,同时会造成指令冗余。

    总结和建议:建议默认编写出可读和简单的代码。不到万不得已不要为了性能而牺牲简洁性,同时要学会使用工具来解决性能问题。

 


相关标签:
 达内简介 达内就业 达内课程 联系我们 网站导航
杭州达内为上软件有限公司 Copyright @ 2007-2012 版权所有 苏ICP备10118953号-1
分享到: