二、为什么要用 C++?

文章插图
为什么我们要使用 C++?首先我们要贴近硬件 , 需要使用一些原生指令 , 需要高性能 , 需要使用一些新的特殊硬件;另一方面我们又需要使用零开销抽象 。只要求贴近硬件的话 , 用 C 就可以 , 而 C++ 额外提供的就是多种不同的零开销的抽象机制 , 包括类、包括继承、模板等等好多东西 , 都是为了让你能够进行抽象 , 同时你这个抽象本身的开销应该是你想象中最低或者比较低的 , 跟你手写出来代码一样 , 而且在你不使用这个抽象的时候不会给你带来额外的开销 。这就是 C++ 的重要特性 。

文章插图
C++ 的学法 , 我认为正确的做法是把它当成一门外语 , 而且是一门活跃的外语 , 像英语这样的外语 , 而不是像拉丁语 。你需要持之以恒 , 你需要练习 , 你需要掌握惯用法 , 你还要学习一些最佳实践 。

文章插图
C++ 里提供了很多抽象 , 所以你要利用这些抽象 , 我们可以写出很抽象和比较简洁的代码 , 这就是洋葱原则的第一条:简单的事情简单做 。我们不需要把所有的事情都搞得很复杂 , C++ 的特点在于如果你需要的时候 , C++ 给你有很多定制点 , 可以允许你去做很多额外的切割 , 你可以做些额外的解剖 , 当然解剖得越深 , 你会哭得越多 , 因为你会碰到头痛的问题越多 , 但是通过这些机制 你可以做很多进一步的优化 , 但我们原则仍然是首先把代码写正确 , 然后进行优化 。有句老话是:过早优化是万恶之源 。
我们既然用 C++ 这样的语言 , 肯定是想要做优化的 , 我们一定会要性能 , 我们一定会要优化 , 但我们不可能在所有的地方都写出最优的代码 , 这个开销有点大 , 就像前面洋葱原则提到的那样 , 我们可能会哭死 。
三、性能优化

文章插图
阿姆达尔定律是说我们能够对代码提升性能的提高程度是取决于你的代码在整个程序里占了多大的比例 。P代表的是你所优化的部分在你整个应用里的开销的比例 。我们想提高执行性能的话 , 就是执行时间的百分比 。Sp 是你提高的部分 , 打个比方 , 我如果有一部分的代码在整个应用里面占了50%的开销 , 那p就是0.5 , 然后如果我把这一部分的性能整整提高了50% , 那Sp就是1.5 , 代入这个公式就会发现结果是1.2 , 我们性能总体提升了20% 。想象一下 , 如果我们把某一部分性能提高了100% , 但是这一部分占整个系统运行开销的1% , 那我们现在能提高多少?只有百分之零点几 , 哪怕这个东西提高了无数倍 , 也不可能超过1%的性能提升 。所以我们软件要做优化的话 , 一定要找出瓶颈 , 来优化这个瓶颈 。
所以下面我们要讨论的一个问题就是性能的测试 , 性能的测试有一个测不准问题 , 我们这边稍微展开一下:
- 美甲培训学校如何
- 服装设计培训 服装设计师培训学校
- 学会计 会计培训学校机构
- 英语口语培训 口语培训课程
- 影视摄影师培训学校
- 职业培训 深圳职业培训学校
- 装饰培训机构 装饰设计培训哪里好
- sigill sigikid
- 广州美容学校推荐 广州美甲培训学校地址
- 西安计算机培训机构哪个最好 西安计算机培训学校有哪些
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
