中文名: 提高C++性能的编程技术 作者: [美]Dov Bulka 译者: 左飞 等 图书分类: 软件 资源格式: PDF 版本: 扫描版 出版社: 电子工业出版社 书号: 9787121129377 发行时间: 2011年03月 地区: 大陆 语言: 简体中文 内容简介: 很多程序员及软件设计师都认为,用C++开发意味着放弃程序性能提升的可能。在很多人眼里,使用C++来开发那些效率至上的应用无疑将导致一场空前的浩劫。因此,在许多性能敏感型领域,诸如网络协议、操作系统内核、移动设备驱动等等,C++都常常处于被冷落的境地。 而本书正是对这种错误观念的最有力回击。本书揭示了C++开发高效应用的潜力,向广大读者展示了大量实用的C++面向对象编程技术。通过改善普遍藏匿于设计编码过程暗处的缺陷,这些技术无一不为C++的性能提升带来最为强劲的动力。 本书详细讨论了临时对象、内存管理、继承、虚函数、内联、引用计数以及STL等一切有可能提升C++效率的细节内容。最终,该书将C++性能提升的各种终极利器,完美地呈现在广大读者的面前!无论你是相关领域的从业人员,还是C++程序设计爱好者,或者是渴望突破编程瓶颈、大幅提升自我修为的程序设计爱好者,本书都必将使你获益良多。 目录: 导读 1 第1章 跟踪实例 10 1.1 初步跟踪的实现 12 1.2 要点 18 第2章 构造函数和析构函数 20 2.1 继承 20 2.2 复合 32 2.3 缓式构造 34 2.4 冗余构造 37 2.5 要点 41 第3章 虚函数 43 3.1 虚函数的构造 43 3.2 模板和继承 46 3.3 要点 51 第4章 返回值优化 52 4.1 按值返回机制 52 4.2 返回值优化 54 4.3 计算性构造函数 57 4.4 要点 58 第5章 临时对象 59 5.1 对象定义 59 5.2 类型不匹配 60 5.3 按值传递 63 5.4 按值返回 64 5.6 使用op=()消除临时对象 66 5.7 要点 67 第6章 单线程内存池 69 6.1 版本0:全局函数new()和delete() 70 6.2 版本1:专用Rational内存管理器 71 6.3 版本2:固定大小对象的内存池 76 6.4 版本3:单线程可变大小内存管理器 80 6.5 要点 87 第7章 多线程内存池 88 7.1 版本4:实现 88 7.2 版本5:快速锁定 91 7.3 要点 95 第8章 内联基础 96 8.1 什么是内联? 96 8.2 方法调用的代价 100 8.3 因何内联? 105 8.4 内联详述 105 8.5 虚方法的内联 107 8.6 通过内联提升性能 108 8.7 要点 109 第9章 内联——站在性能的角度 110 9.1 调用间优化 110 9.2 何时避免内联? 115 9.3 开发阶段及编译期的内联考虑 118 9.4 基于配置的内联 119 9.5 内联规则 123 9.6 要点 125 第10章 内联技巧 126 10.1 条件内联 126 10.2 选择性内联 127 10.3 递归内联 129 10.4 对静态局部变量进行内联 134 10.5 与体系结构有关的注意事项:多寄存器集 136 10.6 要点 137 第11章 标准模板库 138 11.1 渐近复杂度 138 11.2 插入 139 11.3 删除 146 11.4 遍历 149 11.5 查找 150 11.6 函数对象 152 11.7 比STL更好? 154 11.8 要点 157 第12章 引用计数 158 12.1 实现细节 160 12.2 已存在的类 172 12.3 并发引用计数 175 12.4 要点 179 第13章 编码优化 180 13.1 缓存 182 13.2 预先计算 183 13.3 降低灵活性 184 13.4 80-20法则:加快常用路径的速度 185 13.5 延迟计算 189 13.6 无用计算 191 13.7 系统体系结构 192 13.8 内存管理 193 13.9 库和系统调用 194 13.10 编译器优化 197 13.11 要点 198 第14章 设计优化 200 14.1 设计灵活性 200 14.2 缓存 204 14.3 高效的数据结构 208 14.4 延迟计算 208 14.5 getpeername() 209 14.6 无用计算 212 14.7 失效代码 213 14.8 要点 214 第15章 可扩展性 215 15.1 对称多处理器架构 217 15.2 Amdahl定律 218 15.3 多线程和同步 220 15.4 将任务分解为多个子任务 221 15.5 缓存共享数据 222 15.6 无共享 224 15.7 部分共享 226 15.8 锁粒度 228 15.9 伪共享 230 15.10 惊群现象 231 15.11 读/写锁 233 15.12 要点 234 第16章 系统体系结构相关话题 235 16.1 存储器层级 235 16.2 寄存器:存储器之王 237 16.3 磁盘和内存结构 241 16.4 缓存效应 244 16.5 缓存抖动 246 16.6 避免跳转 247 16.7 使用简单计算代替小分支 248 16.8 线程化的影响 249 16.9 上下文切换 251 16.10 内核交叉 254 16.11 线程化选择 255 16.12 要点 257 参考文献 258 索引 260
2024-01-02 12:18:06 22.52MB 编程技术
1
[提高C++性能的编程技术].左飞.pdf 个人收集电子书,仅用学习使用,不可用于商业用途,如有版权问题,请联系删除!
2023-04-23 11:01:10 22.52MB 计算机 编程
1
来自数字图像处理 技术详解与Visual C++实践随书光盘,这是10~14章源码,不是图书
2022-10-20 22:00:32 57.84MB 数字图像处理 左飞 源码 标准示例图片
1
来自数字图像处理 技术详解与Visual C++实践随书光盘,这是8~9章源码,不是图书
2022-10-20 21:58:21 36.64MB 数字图像处理 左飞 源码
1
来自数字图像处理 技术详解与Visual C++实践随书光盘,这是1~7章源码,不是图书
2022-07-13 00:50:46 37.7MB 数字图像处理 左飞
1
数字图像处理的matlab实现,matlab实现。左 / ︿( ̄︶ ̄)︿著
2022-02-28 17:47:49 77.97MB 数字图像
1
数字图像处理开发入门与编程实践 随书光盘
2021-11-22 17:16:57 2.54MB 数字图像处理 入门 Visual
1
1至14章代码
2021-11-18 15:52:39 38MB 左飞
1
数字图像处理原理与实践-基于Visual C++开发 作者:左飞、万晋森、刘航.part3.rar 由于附件大小的限制,把原书分为了4部分,需要全部下载才能解压!
2021-09-10 12:20:54 28.61MB 数字图像处理 Visual C++开发 左飞等
1
完整版:数字图像处理原理与实践-基于Visual C++开发 作者:左飞、万晋森、刘航.part1.rar 由于附件大小的限制,把原书分为了4部分,需要全部下载才能解压!
2021-09-10 12:17:05 28.61MB 数字图像处理 Visual C++开发 左飞
1