[提高C++性能的编程技术].左飞.扫描版

上传者: xiaohao11 | 上传时间: 2024-01-02 12:18:06 | 文件大小: 22.52MB | 文件类型: PDF
中文名: 提高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

文件下载

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明