图书介绍
代码优化:有效使用内存PDF|Epub|txt|kindle电子书版本网盘下载
![代码优化:有效使用内存](https://www.shukui.net/cover/58/33167335.jpg)
- (美)Kris Kaspersky著;谭明金译 著
- 出版社: 北京:电子工业出版社
- ISBN:7121003511
- 出版时间:2004
- 标注页数:330页
- 文件大小:33MB
- 文件页数:345页
- 主题词:代码-程序设计
PDF下载
下载说明
代码优化:有效使用内存PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
目录1
第1章 程序剖分1
1.1 剖分的目标与目的2
1.1.1 总执行时间2
1.1.2 执行时间的类型5
1.1.3 处罚信息7
1.1.4 调用次数10
1.1.5 覆盖层次11
1.2 微剖分的基本问题12
1.2.1 流水作业或者吞吐量与等待时间12
1.2.2 测不准13
1.2.3 硬件优化17
1.2.4 低分辨率17
1.3.1 运行时间的不一致性18
1.3 宏剖分的基本问题18
1.3.2 二度运行问题21
1.3.3 负面效应22
1.3.4 单台机器的代码优化问题24
1.4 最新剖分软件概述24
1.4.1 Intel VTune25
1.4.2 AMD Code Analyst26
1.4.3 Microsoft的profile.exe27
1.5 开发自己的剖分软件28
1.6 VTune实用剖分知识28
1.6.1 第一步:删除printf函数36
1.6.2 第二步:将strlen函数体移出循环36
1.6.3 第三步:对齐数据38
1.6.4 第四步:删除strlen函数41
1.6.5 第五步:删除除法操作42
1.6.7 第七步:函数组合43
1.6.6 第六步:删除性能监测代码43
1.6.8 第八步:减少内存访问操作的次数44
1.6.9 第九步:把VTune当做私人教练47
1.6.10 第十步:下结论53
1.6.11 结果与预测57
第2章 RAM子系统59
2.1 RAM概述59
2.2 RAM的层次结构60
2.3 随机存取存储器63
2.4 RAM的设计与工作原理64
2.4.1 内核部分64
2.4.2 传统DRAM(页面模式的DRAM)66
2.4.3 DRAM的发展68
2.4.4 快速页面模式的DRAM(FPM DRAM)68
2.4.5 存储器时序69
2.4.7 突发式EDO DRAM(BEDO DRAM)70
2.4.6 扩展数据输出DRAM(EDO DRAM)70
2.4.8 同步DRAM(SDRAM)72
2.4.9 倍速SDRAM(DDR SDRAM)或者SDRAM Ⅱ73
2.4.10 直接Rambus DRAM(直接RDRAM)73
2.4.11 不同存储器类型的比较75
2.5 存储器与处理器之间的交互操作76
2.5.1 计算全存取时间81
2.6 DRAM物理地址到逻辑地址的映射83
2.7 内存优化操作84
2.7.1 建议85
2.7.2 展开循环86
2.7.3 消除数据相关性91
2.7.4 数据并行处理94
2.7.5 优化引用数据结构96
2.7.6 减小数据结构的尺寸100
2.7.7 DRAM板块上的数据分布策略109
2.7.8 规划数据流115
2.7.9 按字节、双字与四字进行内存处理121
2.7.10 数据对齐123
2.7.11 内存访问与计算的组合132
2.7.12 读写操作的组合135
2.7.13 只在必要时才访问内存136
2.7.14 内置C内存处理函数的优化137
2.7.15 内存处理函数的优化质量150
2.7.16 C字符串库函数的优化152
2.7.17 字符串处理函数的质量优化156
2.7.18 块处理算法的优化157
2.7.19 大型数组排序的优化160
2.8 RAM测试问题165
第3章 高速缓存子系统168
3.1 SRAM的工作原理168
3.1.3 触发器的设计169
3.1.1 历史概况169
3.1.2 内核169
3.1.4 逻辑非元件(取反器)的设计170
3.1.5 SRAM阵列的设计171
3.1.6 封装接口的设计172
3.1.7 读写时序图173
3.1.8 静态存储器的类型175
3.2 高速缓存的工作原理175
3.2.1 起源176
3.2.2 高速缓存的目标与任务176
3.2.3 高速缓存的组织179
3.3 高速缓存与存储器存取的优化196
3.3.1 处理数据的尺寸对性能的影响196
3.3.2 可执行代码的尺寸对性能的影响209
3.3.3 数据对齐效率213
3.3.4 数据在高速缓存板块上的分布220
3.3.5 使用有限联合数目的高速缓存226
3.3.6 二维数组的处理231
3.3.7 写缓冲机制的详细说明234
3.3.8 新一代x86处理器的高速缓存管理250
3.3.9 预取机制的实际应用256
3.3.10 内存拷贝内幕或者PentiumⅢ与Pentium 4的新命令275
第4章 机器优化292
4.1 C/C++编译器的比较分析292
4.1.1 常量表达式294
4.1.2 代数表达式296
4.1.3 算术运算300
4.1.4 分支语句302
4.1.5 switch运算符304
4.1.6 循环307
4.1.7 函数调用311
4.1.10 死码312
4.1.8 变量分布312
4.1.9 字符串初始化312
4.1.11 常量条件313
4.1.12 确定优胜者313
4.2 汇编器与编译器的对决313
4.2.1 历史回顾——汇编语言使春天永驻314
4.2.2 评价机器优化质量的指标315
4.2.3 评价机器优化质量的方法316
4.2.4 对主要编译器进行比较分析317
4.2.5 测试结果的讨论318
4.2.6 机器优化质量的示例321
4.2.7 用汇编语言创建保护代码325
4.2.8 用汇编语言编程是一种创造性活动326
4.2.9 结束语326
4.2.10 源代码327