登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書

『簡體書』现代CPU性能分析与优化

書城自編碼: 3831804
分類:簡體書→大陸圖書→計算機/網絡程序設計
作者: [美]丹尼斯·巴赫瓦洛夫[Denis Bakhvalov]著
國際書號(ISBN): 9787111719489
出版社: 机械工业出版社
出版日期: 2023-02-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:HK$ 123.8

我要買

 

** 我創建的書架 **
未登入.


新書推薦:
中世纪史诗与浪漫主义
《 中世纪史诗与浪漫主义 》

售價:HK$ 112.7
月亮之书
《 月亮之书 》

售價:HK$ 124.2
算法设计与实践
《 算法设计与实践 》

售價:HK$ 68.8
舵手证券图书 股票大作手操盘术:全译注解版 齐克用译著 杰西利弗莫尔 大作手回忆录 投资策略
《 舵手证券图书 股票大作手操盘术:全译注解版 齐克用译著 杰西利弗莫尔 大作手回忆录 投资策略 》

售價:HK$ 78.2
半糖生活:我想和你谈谈内脏脂肪
《 半糖生活:我想和你谈谈内脏脂肪 》

售價:HK$ 45.8
暗黑历史书系·英国的国王和女王(从诺曼王朝到温莎王朝,英国王室历史上的阴谋、争执和丑闻)
《 暗黑历史书系·英国的国王和女王(从诺曼王朝到温莎王朝,英国王室历史上的阴谋、争执和丑闻) 》

售價:HK$ 112.7
荷兰史:小国大业
《 荷兰史:小国大业 》

售價:HK$ 78.2
我没那么好,也没那么糟
《 我没那么好,也没那么糟 》

售價:HK$ 66.7

 

建議一齊購買:

+

HK$ 122.5
《 x86汇编语言:从实模式到保护模式(第2版) 》
+

HK$ 148.8
《 AI编译器开发指南 》
+

HK$ 98.8
《 软件平台架构设计与技术管理之道 》
+

HK$ 187.5
《 编程卓越之道(卷1):深入理解计算机(第2版) 》
+

HK$ 173.8
《 C++高性能编程 》
+

HK$ 123.8
《 RT-Thread设备驱动开发指南 》
編輯推薦:
我们生活在充满数据的世界,每日都会生成大量数据。日益频繁的信息交换催生了人们对快速软件和快速硬件的需求。遗憾的是,现代CPU无法像以往那样在单核性能方面有很大的提高。以往40多年来,性能调优变得越来越重要,软件调优是未来提高性能的关键因素之一。作为软件开发者,我们必须能够优化自己的应用程序代码。
本书融合了谷歌、Facebook等多位行业专家的知识,是从事性能关键型应用程序开发和系统底层优化的技术人员必备的参考书,可以帮助开发者理解所开发的应用程序的性能表现,学会寻找并去除低效代码
內容簡介:
本书旨在指导大家优化运行在现代CPU上的应用程序的性能。具体来说,主要分为两部分内容:

第一部分介绍性能分析,包括对CPU微架构、术语和指标的简要概述,还探讨了分析性能的不同方法和现代平台上可用的硬件监控功能。第二部分展示如何发现优化机会,以及可以做哪些转换来提高程序的性能。此外,还提供了一份可应用于用户应用程序的优化清单,包括循环优化、向量化、函数内联等,并讨论了有助于消除CPU微架构层面的问题(如缓存未命中、分支预测错误等)的代码转换。

本书对于从事性能关键型应用程序开发和进行系统底层优化的技术人员来说是不可或缺的。对于任何想更好地了解应用程序性能并探索其诊断和改进方法的开发者来说,这本书也很有用。
關於作者:
丹尼斯·巴赫瓦洛夫(Denis Bakhvalov)
Intel高级开发人员,在Intel从事C 编译器项目相关工作,致力于为不同的芯片架构生成最佳代码。性能工程和编译器一直是他感兴趣的研究领域。他于2008年开始了他的软件开发职业生涯,参与过多个领域的工作,包括桌面应用程序开发、嵌入式系统开发、性能分析和编译器开发。2016年,他开设了easyperf.net博客,开始在博客中撰写性能分析、调优、C/C 编译器和CPU微架构相关的文章。

译者简介
朱金鹏荣耀终端虚拟机和编译优化技术负责人,有10多年安卓系统开发经验,致力于安卓手机系统的性能优化。曾就职于华为终端,负责方舟编译器关键特性设计与开发,主导WebAssembly技术在轻量级操作系统上的应用。他是《简明的TensorFlow2》的合著者。

李成栋腾讯软硬件协同架构师,有7年性能分析优化实践经验,擅长软硬件协同性能分析与优化,主导过多款性能优化平台/工具的建设,曾就职于阿里巴巴基础软件系统性能团队。
目錄
译者序
前言
致谢
作者简介
第1章导读1
1.1为什么需要性能调优2
1.2谁需要做性能调优5
1.3什么是性能分析7
1.4本书的主要内容8
1.5本书不包含什么内容9
1.6本章总结10
第一部分现代CPU性能分析
第2章性能测量12
2.1现代系统中的噪声13
2.2生产环境中的性能测量15
2.3自动检测性能退化问题16
2.4手动性能测试18
2.5软件计时器和硬件计时器22
2.6微基准测试24
2.7本章总结25
第3章CPU微架构27
3.1指令集架构27
3.2流水线28
3.3利用指令级并行30
3.3.1乱序执行30
3.3.2超标量引擎和超长指令字31
3.3.3投机执行33
3.4利用线程级并行34
3.5存储器层次35
3.5.1高速缓存层次35
3.5.2主存39
3.6虚拟内存39
3.7单指令多数据多处理器40
3.8现代CPU设计42
3.8.1CPU前端42
3.8.2CPU后端44
3.9性能监控单元44
第4章性能分析中的术语和指标47
4.1退休指令与执行指令47
4.2CPU利用率48
4.3CPI和IPC48
4.4微操作49
4.5流水线槽位51
4.6核时钟周期和参考时钟周期51
4.7缓存未命中52
4.8分支预测错误53
第5章性能分析方法55
5.1代码插桩56
5.2跟踪58
5.3负载表征59
5.3.1统计性能事件59
5.3.2手动收集性能计数60
5.3.3事件多路复用和缩放62
5.4采样63
5.4.1用户模式采样和基于硬件
事件的采样64
5.4.2寻找热点64
5.4.3采集调用栈66
5.4.4火焰图69
5.5屋顶线性能模型69
5.6静态性能分析73
5.7编译器优化报告75
5.8本章总结78
第6章性能分析相关的CPU特性80
6.1自顶向下微架构分析技术81
6.1.1Intel VTune Prof iler中的
TMA84
6.1.2Linux perf中的TMA85
6.1.3第一步:确定瓶颈86
6.1.4第二步:定位具体的代码
位置88
6.1.5第三步:解决问题90
6.1.6小结91
6.2最后分支记录92
6.2.1采集LBR栈94
6.2.2获取调用图95
6.2.3识别热点分支96
6.2.4分析分支预测错误率97
6.2.5机器码的准确计时98
6.2.6评估分支输出的概率100
6.2.7其他应用场景101
6.3基于处理器事件的采样101
6.3.1精准事件102
6.3.2降低采样开销103
6.3.3分析内存访问104
6.4Intel处理器跟踪技术105
6.4.1工作流105
6.4.2时间报文106
6.4.3采集和解析跟踪文件107
6.4.4用法108
6.4.5磁盘空间和解析时间109
6.5本章总结110
第二部分基于源代码的
CPU调优
第7章CPU前端优化117
7.1 机器码布局118
7.2 基本块118
7.3 基本块布局119
7.4 基本块对齐121
7.5 函数拆分123
7.6 函数分组125
7.7 基于剖析文件的编译优化126
7.8 对ITLB的优化128
7.9 本章总结128
第8章CPU后端优化130
8.1 内存绑定130
8.1.1 缓存友好的数据结构131
8.1.2 显式内存预取136
8.1.3 针对DTLB优化138
8.2 核心绑定141
8.2.1 函数内联141
8.2.2 循环优化143
8.2.3 向量化149
8.3 本章总结158
第9章优化错误投机160
9.1 用查表替换分支161
9.2 用断言替换分支162
9.3 本章总结164
第10章其他调优165
10.1 编译时计算165
10.2 编译器内建函数166
10.3 缓存预热167
10.4 减少慢速浮点运算168
10.5 系统调优169
第11章优化多线程应用程序171
11.1 性能扩展和开销171
11.2 并行效率指标174
11.2.1 有效CPU利用率174
11.2.2 线程数量174
11.2.3 等待时间175
11.2.4 自旋时间175
11.3 使用Intel VTune Profiler进行
分析175
11.3.1 寻找耗时锁175
11.3.2 平台视图178
11.4 使用Linux perf进行分析178
11.5 使用Coz进行分析181
11.6 使用eBPF和GAPP进行分析181
11.7 检测一致性问题182
11.7.1 缓存一致性协议182
11.7.2 真共享184
11.7.3 伪共享184
11.8 本章总结186
附录A减少测量噪声188
附录BLLVM向量化程序193
跋198
术语200
参考文献20
內容試閱
Preface 前 言
写作目的
我写这本书的目的很简单:帮助软件开发人员更好地理解应用程序在现代硬件上的性能。我知道,对于初学者甚至资深的开发人员来说,该话题可能会让他们感到困惑,这种困惑主要发生在没有从事过与性能相关的工作的开发人员身上。不过这并不是问题,毕竟所有的专家都曾是初学者。
我至今还记得刚开始进行性能分析的那些日子:盯着不熟悉的指标,试图匹配一些不匹配的数据,每日都感到非常困惑。我花了好几年的时间才终于融会贯通,把相关的知识拼图拼凑到了一起。当时,唯一的信息来源是软件开发者手册,但是它不是主流开发者喜欢阅读的文档。所以,我决定写这本书,希望本书能够让开发人员更容易地学习性能分析的相关概念。
认为自己是性能分析初学者的开发者,可以从本书的开头逐章阅读。第2~4章为开发者提供了阅读后面各章所需的必备知识,已经熟悉这些概念的读者可以选择跳过这些章节。此外,本书可用作优化软件应用程序的参考指南。读者可把第7~11章的内容作为调优代码的灵感来源。
目标读者
本书主要面向性能关键型应用程序和底层优化软件的开发者。这里只列举几个相关领域,如高性能计算(High-Performance Computing,HPC)、游戏开发、数据中心应用(如Facebook和Google等)、高频交易。但是,本书的应用范围并不局限于上述行业。对于任何希望更好地了解应用程序性能,希望知道如何诊断和改进应用程序的开发者来说,本书都是有用的。我希望本书中介绍的内容可以帮助读者培养可用于日常工作的新技能。
读者应当具备C/C 编程语言的基本知识,以方便理解本书的示例。如果读者具备基本的x86汇编语言阅读能力则更佳,但这并非严格要求。读者还需要熟悉计算机架构和操作系统的基本概念,如中央处理器、内存、进程、线程、虚拟内存和物理内存、上下文切换等。如果读者还不熟悉上述术语的话,建议先学习一下相关知识。

AcknowLedgements致 谢
非常感谢Mark E. Dawson,他帮助我撰写了7.8节、8.1.3节、10.3节、10.5节、11.1节、11.5节、11.6节和11.7节。他是高频交易行业公认的专家,非常热心地分享了他的专业知识。
感谢Sridhar Lakshmanamurthy,他帮助我撰写了第3章关于CPU微架构的主要部分。他在Intel工作数十年,是半导体行业的资深人士。
非常感谢LLVM编译器中向量化框架的原作者NadavRotem,他帮助我编写了8.2.3节。
感谢Clément Grégoire,他帮助我撰写了8.2.3.7节。他拥有丰富的游戏开发经验,他的评论和反馈帮助本书解决了游戏开发行业面临的一些挑战。
本书的出版还依赖以下审稿人:Dick Sites、WojciechMu?a、Thomas Dullien、Matt Fleming、Daniel Lemire、Ahmad Yasin、Michele Adduci、Clément Grégoire、ArunS.Kumar、Surya Narayanan、Alex Blewitt、NadavRotem、Alexander Yer-molovich、SuchakrapaniDatt Sharma、RenatIdrisov、Sean Heelan、JumanaMundichipparakkal、Todd Lipcon、Rajiv Chauhan、Shay Morag等。
此外,还要感谢性能社区的无数博客文章和论文。从Travis Downs、Daniel Lemire、AndiKleen、Agner Fog、Bruce Dawson、Brendan Gregg等人的博客中,我学到了很多东西。我站在巨人的肩膀上才得以完成此书,所以本书的成功不应该只归功于我自己,这本书也是我为了感谢和回馈整个社区而作。
最后,还要感谢我的家人,他们给了我足够的耐心和支持,为我放弃了周末旅行和每晚的散步活动。没有他们的支持,我是不可能完成本书的。

About the Author作者简介
丹尼斯·巴赫瓦洛夫(Denis Bakhvalov)是Intel的一名高级开发人员,在Intel从事C 编译器项目相关工作,旨在为不同的芯片架构生成最佳代码。性能工程和编译器一直是他的主要兴趣所在。他于2008年开始了他的软件开发职业生涯,参与过多个领域的工作,包括桌面应用程序开发、嵌入式系统开发、性能分析和编译器开发。2016年,他开设了easyperf.net博客,开始在博客中撰写性能分析、调优、C/C 编译器和CPU微架构相关的文章。他热爱生活,在空余时间致力于践行积极的生活方式,常去踢足球、打网球、跑步或下棋。

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 大陸用户 | 海外用户
megBook.com.hk
Copyright © 2013 - 2024 (香港)大書城有限公司  All Rights Reserved.