图书介绍

C程序性能优化 20个实验与达人技巧pdf电子书版本下载

C程序性能优化  20个实验与达人技巧
  • (日)片山善夫著;何本华,居福国译 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115300003
  • 出版时间:2013
  • 标注页数:140页
  • 文件大小:42MB
  • 文件页数:148页
  • 主题词:C语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快] 温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页 直链下载[便捷但速度慢]   [在线试读本书]   [在线获取解压码]

下载说明

C程序性能优化 20个实验与达人技巧PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 CPU与编译器概论 2

1.1 高速路与人行道 2

1.2 编译器是如何运作的 3

编译后的汇编语言程序 4

添加优化选项后的结果 7

1.3 CPU是如何运作的 8

指令集架构与微架构 8

如何执行指令 9

指令流水线 11

高速缓存 12

深入探讨高速缓存 13

缓存块的替换算法 15

超标量指令执行 15

第1章是不是偏离了主题 17

第2章 执行成本 20

2.1 程序的执行成本 20

2.2 计·测·谋 20

书中的探讨 20

2.3 防止基准测试程序被优化 23

防止操作“归并” 23

防止变量在初始化时被优化 24

防止重复单一指令被优化 25

本书中的基准测试程序 26

2.4 验证——哪一步操作导致执行速度缓慢 29

2.5 基础加法与赋值运算 31

单一的赋值操作(寄存器间的传送) 32

单一的赋值操作(数据相互关联的情况) 32

常量赋值 33

变量间的加法运算 33

变量与常量相加 34

2.6 耗时的乘法运算 36

变量间的乘法运算 37

变量与常量相乘 37

2.7 更为耗时的除法运算 40

变量的除法(寄存器间的计算) 40

除数为2、4的除法运算 42

除数不是2的乘方的除法运算 42

无符号整数除法运算 42

除数为2的乘方时除法运算使用低成本移位指令 43

2.8 内存读取 45

小数组的读取(小范围内的内存操作) 45

大数组的读取(大范围内的内存操作) 47

与台式机的CPU进行比较 49

2.9 造成执行时间差别的判断语句 51

无else节点的if语句 51

带else节点的if语句 53

2.10 32/64位环境中不同的函数调用 53

2.11 实验总结 55

若想被爱则先爱 55

第3章 寻找性能瓶颈 58

3.1 使用gprof命令进行分析 58

gprof的使用方法 58

3.2 哪个环节在消耗时间 58

获取库函数的评测信息 60

耗时的函数 62

显示库函数的调用次数 63

3.3 函数的调用关系 63

3.4 进行数据分析的原理 66

3.5 其他性能分析器 67

培养高水平人才的教育系统 68

第4章 达人方法论 72

4.1 达人的关注点 72

硬件篇 72

编译器/中间件篇 74

算法篇 75

4.2 【硬件篇】数组和缓存的有效利用 76

矩阵的乘法运算 76

调整数组操作的顺序 77

展开循环的方式 78

矩阵的分块 79

4.3 【库函数篇】缓慢函数的迂回战术 80

strcmp函数为何缓慢 80

优化的陷阱 81

4.4 【硬件篇】使用SIMD进行字符串对比 83

4.5 【库函数篇】对比各种输入输出方法 85

行输入函数的对比 85

输出方法 89

管道输入输出的特殊案例 91

管道输入输出与文件输入输出 92

4.6 【算法篇】二分法查找与平衡二叉树 92

海量数据的分类 93

真要做到如此地步? 97

第5章 进一步研究编译器 100

5.1 不同级别的优化选项 100

GCC的优化选项 100

“零优化”对调试有效 100

以不出现未定义行为为前提的2级以上优化选项 101

5.2 优化·寄存器·外部变量 102

5.3 删除公共子表达式为程序瘦身 104

5.4 指针与复杂运算简化 105

5.5 将用户函数进行内联展开 106

和别人拉开差距! 108

第6章 给办公系统的一些启示6.1 排序与字符串操作 112

6.2 小数点数的计算与字符串/数字的换算 112

块数据输入输出和字段分割 113

统计带小数部分的数 113

整数转换成字符串 115

性能优化的效果 116

6.3 半角字符转换为全角字符 117

判定字符的字节数 118

ASCII字符与半角片假名字符的判定 119

ASCII字符转换为全角字符 123

半角字符转换为全角字符 124

性能优化的效果 127

判定字符字节数的其他方法 127

有关UTF-8 130

6.4 探索具有某种数据特性的数组 132

数据的特性 133

二分法查找与线性查找相结合 135

性能优化的效果 138

后记 139

精品推荐