C++高性能编程
全新正版 极速发货
¥
89.06
6.4折
¥
139
全新
库存10件
作者(美)费多尔·G.皮克斯
出版社清华大学出版社
ISBN9787302620693
出版时间2022-11
装帧平装
开本32开
定价139元
货号1202783041
上书时间2024-05-27
商品详情
- 品相描述:全新
- 商品描述
-
目录
第1篇性能基础
第1章性能和并发性简介3
1.1程序员要关注性能的原因3
1.2有关性能重要性的解释6
1.3程序性能8
1.3.1吞吐量指标8
1.3.2功耗指标9
1.3.3实时应用性能10
1.3.4上下文环境11
1.4评估和预测性能12
1.5精通高性能应用程序开发13
1.6小结14
1.7思考题15
第2章性能测量17
2.1技术要求17
2.2性能测量示例18
2.3性能基准测试25
2.3.1C++计时器25
2.3.2高分辨率计时器26
2.4性能分析31
2.4.1perf性能分析器32
2.4.2使用perf进行详细性能分析34
2.4.3GooglePerformance性能分析器37
2.4.4使用调用图进行性能分析38
2.4.5优化和内联42
2.4.6实际性能分析44
2.5微基准测试45
2.5.1微基准测试的基础知识45
2.5.2微基准测试和编译器优化48
2.5.3GoogleBenchmark51
2.5.4微基准测试是谎言54
2.6小结58
2.7思考题59
第3章CPU架构、资源和性能61
3.1技术要求61
3.2CPU和性能62
3.3使用微基准测试性能64
3.4可视化指令级并行性70
3.5数据依赖和流水线72
3.6流水线和分支77
3.6.1分支预测80
3.6.2分支预测错误的性能分析82
3.7推测执行85
3.8复杂条件的优化86
3.9无分支计算90
3.9.1循环展开90
3.9.2无分支选择91
3.9.3无分支计算示例93
3.10小结96
3.11思考题97
第4章内存架构和性能99
4.1技术要求99
4.2影响性能的不止CPU100
4.3测量内存访问速度102
4.3.1内存架构103
4.3.2测量内存和缓存速度105
4.4内存的速度:数字108
4.4.1随机内存访问速度108
4.4.2顺序内存访问速度111
4.4.3硬件中的内存性能优化113
4.5优化内存性能115
4.5.1高效使用内存的数据结构116
4.5.2分析内存性能119
4.5.3优化内存性能的算法121
4.6机器里的“幽灵”126
4.6.1关于Spectre127
4.6.2Spectre攻击示例129
4.6.3释放“幽灵”133
4.7小结137
4.8思考题137
第5章线程、内存和并发139
5.1技术要求139
5.2理解线程和并发139
5.2.1关于线程140
5.2.2对称多线程141
5.2.3线程和内存141
5.2.4内存受限程序和并发145
5.3了解内存同步的成本146
5.4数据共享成本高昂的原因151
5.5了解并发和顺序157
5.5.1顺序的需要157
5.5.2内存顺序和内存屏障159
5.5.3C++中的内存顺序165
5.6内存模型168
5.7小结172
5.8思考题172
第2篇并发的高级应用
第6章并发和性能175
6.1技术要求175
6.2高效使用并发需要的条件176
6.3锁、替代品及其性能177
6.3.1基于锁、无锁和无等待的程序179
6.3.2针对不同问题的不同锁181
6.3.3锁与无锁的真正区别185
6.4并发编程的构建块187
6.4.1并发数据结构的基础知识188
6.4.2计数器和累加器191
6.4.3发布协议196
6.5并发编程的智能指针198
6.5.1发布指针198
6.5.2原子共享指针201
6.6小结204
6.7思考题204
第7章并发数据结构205
7.1技术要求205
7.2关于线程安全数据结构205
7.2.1优选的线程安全性206
7.2.2真正的线程安全性208
7.3线程安全栈208
7.3.1线程安全的接口设计209
7.3.2互斥锁保护的数据结构的性能211
7.3.3不同用途的性能要求213
7.3.4有关栈性能的细节讨论217
7.3.5同步方案的性能估计220
7.3.6无锁栈223
7.4线程安全队列229
7.4.1无锁队列230
7.4.2非顺序一致的数据结构235
7.4.3并发数据结构的内存管理238
7.5线程安全列表240
7.5.1列表的挑战240
7.5.2无锁列表243
7.6小结249
7.7思考题249
第8章C++中的并发251
8.1技术要求251
8.2C++11中的并发支持251
8.3C++17中的并发支持253
8.4C++20中的并发支持256
8.4.1协程的基础知识257
8.4.2协程C++语法261
8.4.3协程示例262
8.5小结268
8.6思考题269
第3篇设计和编写高性能程序
第9章高性能C++273
9.1技术要求273
9.2关于编程语言的效率273
9.3不必要的复制275
9.3.1复制和参数传递275
9.3.2将复制作为一种实现技术277
9.3.3复制以存储数据278
9.3.4复制返回值279
9.3.5使用指针避免复制283
9.3.6避免不必要的复制284
9.4低效的内存管理285
9.4.1不必要的内存分配285
9.4.2并发程序中的内存管理289
9.4.3避免内存碎片290
9.5条件执行的优化293
9.6小结295
9.7思考题296
第10章C++中的编译器优化297
10.1技术要求297
10.2编译器优化代码297
10.2.1有关编译器优化的基础知识298
10.2.2函数内联300
10.2.3编译器真正知道的东西305
10.2.4将运行时信息转换为编译时信息311
10.3小结314
10.4思考题315
第11章未定义行为和性能317
11.1技术要求317
11.2关于未定义行为317
11.3产生未定义行为的缘由320
11.4未定义行为和C++优化321
11.5使用未定义行为进行高效设计330
11.6小结333
11.7思考题334
第12章性能设计335
12.1技术要求335
12.2设计与性能之间的相互作用335
12.3着眼于性能的设计336
12.3.1最小信息原则337
12.3.2优选信息原则338
12.4API设计注意事项344
12.4.1有关并发的API设计344
12.4.2复制和发送数据349
12.5优化数据访问的设计351
12.6性能权衡354
12.6.1接口设计354
12.6.2组件设计355
12.6.3错误和未定义的行为356
12.7做出明智的设计决策357
12.8小结359
12.9思考题359
附录思考题解答361
第1章性能和并发性简介361
第2章性能测量361
第3章CPU架构、资源和性能362
第4章内存架构和性能363
第5章线程、内存和并发364
第6章并发和性能365
第7章并发数据结构365
第8章C++中的并发366
第9章高性能C++367
第10章C++中的编译器优化368
第11章未定义行为和性能369
第12章性能设计369
内容摘要
本书详细阐述了与C++高性能编程相关的基本解决方案,主要包括性能和并发性简介,性能测量,CPU架构、资源和性能,内存架构和性能,线程、内存和并发,并发和性能,并发数据结构,C++中的并发,高性能C++,C++中的编译器优化,未定义行为和性能,性能设计等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学用书和参考手册。
— 没有更多了 —
以下为对购买帮助不大的评价