提高C++性能的编程技术

提高C++性能的编程技术

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

揭示C++开发高效应用的潜力,展示大量实用的C++面向对象编程技术。

内容简介

很多程序员及软件设计师都认为,用c++开发意味着放弃程序性能提升的可能。在很多人眼里,使用c++来开发那些效率至上的应用无疑将导致一场空前的浩劫。因此,在许多性能敏感型领域,诸如网络协议、操作系统内核、移动设备驱动等等,c++都常常处于被冷落的境地。

而本书正是对这种错误观念的最有力回击。《提高c++性能的编程技术》揭示了c++开发高效应用的潜力,向你展示了大量实用的c++面向对象编程技术。通过改善普遍藏匿于设计编码过程暗处的缺陷,这些技术无一不为c++的性能提升带来最为强劲的动力。

《提高c++性能的编程技术》详细讨论了临时对象、内存管理、继承、虚函数、内联、引用计数以及stl等一切有可能提升c++效率的细节内容。

本书将c++性能提升的各种终极利器,完美地呈现在你面前。无论你是相关领域的从业人员,还是c++程序设计爱好者,或者是渴望突破编程瓶颈、大幅提升自我修为的程序设计爱好者,本书都必将使你获益良多。

作者简介

作者Dov Bulka,杜克大学计算机科学博士,在软件开发以及向市场交付大型软件产品方面拥有超过15年的实战经验。他曾是IBM DominoGo Web服务器的性能设计师,一些曾出现在Internet上的最大型网站使用了这种服务器,其中包括1996年亚特兰大奥运会的网站。

章节目录

版权信息

内容简介

悦读上品 得乎益友

得以引荐大师著作

向深邃的技术内涵致敬

翻译与评注的双项选择

承蒙国内一流阐注廣的扶持

期望带给读者良好的阅读体验

中文版前言

序言

导读

软件低效的根源

我们的目标

软件效率:很重要吗?

术语

本书结构

第1章 跟踪实例

1.1 初步跟踪的实现

1.2 要点

第2章 构造函数和析构函数

2.1 继承

2.2 复合

2.3 缓式构造

2.4 冗余构造

2.5 要点

第3章 虚函数

3.1 虚函数的构造

3.2 模板和继承

3.3 要点

第4章 返回值优化

4.1 按值返回机制

4.2 返回值优化

4.3 计算性构造函数

4.4 要点

第5章 临时对象

5.1 对象定义

5.2 类型不匹配

5.3 按值传递

5.4 按值返回

5.6 使用op=()消除临时对象

5.7 要点

第6章 单线程内存池

6.1 版本0:全局函数new()和delete()

6.2 版本1:专用Rational内存管理器

6.3 版本2:固定大小对象的内存池

6.4 版本3:单线程可变大小内存管理器

6.5 要点

第7章 多线程内存池

7.1 版本4:实现

7.2 版本5:快速锁定

7.3 要点

第8章 内联基础

8.1 什么是内联?

8.2 方法调用的代价

8.3 因何内联?

8.4 内联详述

8.5 虚方法的内联

8.6 通过内联提升性能

8.7 要点

第9章 内联——站在性能的角度

9.1 调用间优化

9.2 何时避免内联?

9.3 开发阶段及编译期的内联考虑

9.4 基于配置的内联

9.5 内联规则

9.6 要点

第10章 内联技巧

10.1 条件内联

10.2 选择性内联

10.3 递归内联

10.4 对静态局部变量进行内联

10.5 与体系结构有关的注意事项:多寄存器集

10.6 要点

第11章 标准模板库

11.1 渐近复杂度

11.2 插入

11.3 删除

11.4 遍历

11.5 查找

11.6 函数对象

11.7 比STL更好?

11.8 要点

第12章 引用计数

12.1 实现细节

12.2 已存在的类

12.3 并发引用计数

12.4 要点

第13章 编码优化

13.1 缓存

13.2 预先计算

13.3 降低灵活性

13.4 80-20法则:加快常用路径的速度

13.5 延迟计算

13.6 无用计算

13.7 系统体系结构

13.8 内存管理

13.9 库和系统调用

13.10 编译器优化

13.11 要点

第14章 设计优化

14.1 设计灵活性

14.2 缓存

14.3 高效的数据结构

14.4 延迟计算

14.5 getpeername()

14.6 无用计算

14.7 失效代码

14.8 要点

第15章 可扩展性

15.1 对称多处理器架构

15.2 Amdahl定律

15.3 多线程和同步

15.4 将任务分解为多个子任务

15.5 缓存共享数据

15.6 无共享

15.7 部分共享

15.8 锁粒度

15.9 伪共享

15.10 惊群现象

15.11 读/写锁

15.12 要点

第16章 系统体系结构相关话题

16.1 存储器层级

16.2 寄存器:存储器之王

16.3 磁盘和内存结构

16.4 缓存效应

16.5 缓存抖动

16.6 避免跳转

16.7 使用简单计算代替小分支

16.8 线程化的影响

16.9 上下文切换

16.10 内核交叉

16.11 线程化选择

16.12 要点

参考文献

索引

提高C++性能的编程技术是2011年由电子工业出版社出版,作者[美] Dov Bulka。

得书感谢您对《提高C++性能的编程技术》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
明解C++ 电子书
本书结合307段代码和245幅图表,由浅入深地讲解了C++编程的基础知识。
开放式控制系统编程技术 电子书
CODESYS作为遵循IEC61131-3国际编程标准、面向工业4.0应用的软件开发平台,提供了一整套功能强大的工业自动化解决方案。本书是由3S软件有限公司组织编写的一本使用指南,涵盖了最新的CODESYSV3的功能与特性。全书包括9章和若干附录,分别介绍了IEC61131-3标准、CODESYS软件开发平台的整体框架、IEC编程基础、IEC61131-3的5种标准编程语言、与逻辑控制相关的指令系
FANUC工业机器人配置与编程技术 电子书
本书以工业中的应用为主线,从机器视觉、网络通讯、示教编程等方面,较为全面的介绍了FANUC工业机器人的使用及配置方法,突出实用性的特点,目的在于使更多的人能够熟练操纵FANUC工业机器人。
Java编程技术与项目实战(第2版) 电子书
本书从Java语言的基本特点入手,全面介绍了Java语言的基本概念和编程方法,并扼要介绍了Java的高特。全书内容涉及Java基本语法、数据类型、异常、界面设计、小应用程序、I/O数据流、线程等内容,这些内容基本覆盖了Java的实用技术,是进一步使用Java进行技术开发的基础。
大话性能测试:JMeter实战 电子书
本书以业界开源性能测试工具JMeter为依托,结合真实的工作实践,用通俗易懂的语言层层深入讲解性能测试技能。