返回首页
苏宁会员
购物车 0
易付宝
手机苏宁

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

  • 服务承诺: 正品保障
  • 公司名称:
  • 所 在 地:

  • 正版新书]现代CPU能分析与优化[美]丹尼斯·巴赫瓦洛夫(Denis Bak
  • 全店均为全新正版书籍,欢迎选购!新疆西藏青海(可包挂刷).港澳台及海外地区bu bao快递
    • 作者: [美]丹尼斯·巴赫瓦洛夫(Denis Bakhvalov) 著著 | [美]丹尼斯·巴赫瓦洛夫(Denis Bakhvalov) 著编 | [美]丹尼斯·巴赫瓦洛夫(Denis Bakhvalov) 著译 | [美]丹尼斯·巴赫瓦洛夫(Denis Bakhvalov) 著绘
    • 出版社: 机械工业出版社
    • 出版时间:2023-01-01
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    君凤文轩图书专营店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品分类

    商品参数
    • 作者: [美]丹尼斯·巴赫瓦洛夫(Denis Bakhvalov) 著著| [美]丹尼斯·巴赫瓦洛夫(Denis Bakhvalov) 著编| [美]丹尼斯·巴赫瓦洛夫(Denis Bakhvalov) 著译| [美]丹尼斯·巴赫瓦洛夫(Denis Bakhvalov) 著绘
    • 出版社:机械工业出版社
    • 出版时间:2023-01-01
    • 版次:1
    • 印次:1
    • 字数:233
    • 页数:206
    • 开本:16开
    • ISBN:9787111719489
    • 版权提供:机械工业出版社
    • 作者:[美]丹尼斯·巴赫瓦洛夫(Denis Bakhvalov) 著
    • 著:[美]丹尼斯·巴赫瓦洛夫(Denis Bakhvalov) 著
    • 装帧:平装
    • 印次:1
    • 定价:99
    • ISBN:9787111719489
    • 出版社:机械工业出版社
    • 开本:16开
    • 印刷时间:暂无
    • 语种:暂无
    • 出版时间:2023-01-01
    • 页数:206
    • 外部编号:涿物流园17826
    • 版次:1
    • 成品尺寸:暂无

    Preface?目  录译者序前言致谢作者简介章?导读11.1?为什么需要能调优21.2?谁需要做能调优51.3?什么是能分析71.4?本书的主要内容81.5?本书不包含什么内容91.6?本章总结10部?现代CPU能分析第2章?能测量122.1?现代系统中的噪声132.2?生产环境中的能测量15.?自动检测能退化问题162.4?手动能测试182.5?软件计时器和硬件计时器222.6?微基准测试242.7?本章总结25第3章?CPU微架构273.1?指令集架构273.2?流水线283.3?利用指令级并行303.3.1?乱序执行303.3.2?超标量引擎和超长指令字313.3.3?投机执行333.4?利用线程级并行343.5?存储器层次353.5.1?高速缓存层次353.5.2?主存393.6?虚拟内存393.7?单指令多数据多处理器403.8?现代CPU设计4..1?CPU前端4..2?CPU后端443.9?能监控单元44第4章?能分析中的术语和指标474.1?退休指令与执行指令474.2?CPU利用率484.3?CPI和IPC484.4?微操作494.5?流水线槽位514.6?核时钟周期和参考时钟周期514.7?缓存未命中524.8?分支预测错误53第5章?能分析方法555.1?代码插桩565.2?跟踪585.3?负载表征595.3.1?统计能事件595.3.2?手动收集能605.3.3?事件多路复用和缩放625.4?采样635.4.1?用户模式采样和基于硬件    事件的采样645.4.2?寻找热点645.4.3?采集调用栈665.4.4?火焰图695.5?屋顶线能模型695.6?静态能分析735.7?编译器优化报告755.8?本章总结78第6章?能分析相关的CPU特06.1?自顶向下微架构分析技术816.1.1?Intel VTune Prof iler中的    TMA846.1.2?Linux perf中的TMA856.1.3?步:确定瓶颈866.1.4?第二步:定位具体的代码    位置886.1.5?第三步:解决问题906.1.6?小结916.2?后分支记录926.2.1?采集LBR栈946.2.2?获取调用图956..?识别热点分支966.2.4?分析分支预测错误率976.2.5?机器码的准确计时986.2.6?评估分支输出的概率1006.2.7?应用场景1016.3?基于处理器事件的采样1016.3.1?精准事件1026.3.2?降低采样开销1036.3.3?分析内存访问1046.4?Intel处理器跟踪技术1056.4.1?工作流1056.4.2?时间报文1066.4.3?采集和解析跟踪文件1076.4.4?用法1086.4.5?磁盘空间和解析时间1096.5?本章总结110第二部分?基于源代码的CPU调优第7章?CPU前端优化1177.1  机器码布局1187.2  基本块1187.3  基本块布局1197.4  基本块对齐1217.5  函数拆分1.6  函数分组1257.7  基于剖析文件的编译优化1267.8  对ITLB的优化1287.9  本章总结128第8章?CPU后端优化1308.1  内存绑定1308.1.1  缓存友好的数据结构1318.1.2  显式内存预取1368.1.3  针对DTLB优化1388.2  核心绑定1418.2.1  函数内联1418.2.2  循环优化1438..  向量化1498.3  本章总结158第9章?优化错误投机1609.1  用查表替换分支1619.2  用断言替换分支1629.3  本章总结1640章?调优16510.1  编译时计算16510.2  编译器内建函数16610.3  缓存预热16710.4  减少慢速浮点运算16810.5  系统调优1691章?优化多线程应用程序17111.1  能扩展和开销17111.2  并行效率指标17411.2.1  有效CPU利用率17411.2.2  线程数量17411..  等待时间17511.2.4  自旋时间17511.3  使用Intel VTune Profiler进行     分析17511.3.1  寻找耗时锁17511.3.2  平台视图17811.4  使用Linux perf进行分析17811.5  使用Coz进行分析18111.6  使用eBPF和GAPP进行分析18111.7  检测一致问题18211.7.1  缓存一致协议18211.7.2  真共享18411.7.3  伪共享18411.8  本章总结186附录A?减少测量噪声188附录B?LLVM向量化程序193跋198术语200参考文献20


    丹尼斯·巴赫瓦洛夫(Denis Bakhvalov)
    Intel高级开发人员,在Intel从事C 编译器项目相关工作,致力于为不同的芯片架构生成代码。能工程和编译器一直是他感兴趣的研究领域。他于2008年开始了他的软件开发职业生涯,参与过多个领域的工作,包括桌面应用程序开发、嵌入式系统开发、能分析和编译器开发。2016年,他开设了easyperf.net博客,开始在博客中撰写能分析、调优、C/C 编译器和CPU微架构相关的文章。

    译者简介

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

    李成栋腾讯软硬件协同架构师,有7年能分析优化实践经验,擅长软硬件协同能分析与优化,过多款能优化平台/工具的建设,曾就职于基础软件系统能团队。


    【媒体评论】

    “这是一本极好的书,每个对软件能兴趣的人都应该拥有一本。它对能优化进行了深入、透彻且准确的研究。”——Daniel Lemire,计算机科学教授

    “我强烈这本书。它让许多变得更轻松。”——JumanaMundichipparakkal,能

    “本书包含所有理解应用程序能剖析文件以及能测量和能改善方法所需的重要概念、信息及工具。”——Arun S. Kumar,高级软件


    章导读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

    .自动检测能退化问题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.主存

    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特0

    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..识别热点分支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 函数拆分1

    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.. 向量化149

    8.3 本章总结158

    第9章优化错误投机160

    9.1 用查表替换分支161

    9.2 用断言替换分支162

    9.3 本章总结164

    0章调优165

    10.1 编译时计算165

    10.2 编译器内建函数166

    10.3 缓存预热167

    10.4 减少慢速浮点运算168

    10.5 系统调优169

    1章优化多线程应用程序171

    11.1 能扩展和开销171

    11.2 并行效率指标174

    11.2.1 有效CPU利用率174

    11.2.2 线程数量174

    11.. 等待时间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


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



    我们生活在充满数据的世界,每日都会生成大量数据。日益频繁的信息交换催生了人们对快速软件和快速硬件的需求。遗憾的是,现代CPU无法像以往那样在单核能方面有很大的提高。以往40多年来,能调优变得越来越重要,软件调优是未来提高能的关键因素之一。作为软件开发者,我们必须能够优化自己的应用程序代码。

    本书融合了谷歌、Facebook等多位行业专家的知识,是从事能关键型应用程序开发和系统底层优化的技术人员的参考书,可以帮开发者理解所开发的应用程序的能表现,学会寻找并去除低效代码


    【内容简介】


    本书旨在指导大家优化运行在现代CPU上的应用程序的能。具体来说,主要分为两部分内容:

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

    本书对于从事能关键型应用程序开发和进行系统底层优化的技术人员来说是不可或缺的。对于任何想更好地了解应用程序能并探索其诊断和改进方法的开发者来说,这本书也很有用。



    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购