本书系统深入地介绍了各种代码优化编程技术。全书分为4章。第1章集中介绍如何确定程序中消耗CPU时钟最多的热点代码的所谓程序剖析技术以及典型部分工具的实用知识。第2,3章分别全面介绍RAM了系统与高速缓存子系统的代码优化知识。第4章主要介绍了机器代码优化技术。各章在讨论基本原理的同时详细给出了代码实例,并对优化性能进行了定量的分析。
该书特别适合于作为应用程序员及系统程序员的学习与开发之用。同时,本书对在硬件方面的专业人员与技术工作者有一定的参考价值。
第1章 程序剖分
1.1 剖分的目标与目的
1.1.1 总执行时间
1.1.2 执行时间的类型
1.1. 3 处罚信息
1.1.4 调用次数
1.1.5 覆盖层次
1.2 微剖分的基本问题
1.2.1 流水作业或者吞吐量与等待时间
1.2.2 测不准
1.2.3 硬件优化
1.2.4 低分辨率
1.3 宏剖分的基本问题
1.3.1 运行时间的不一致性
1.3.2 度运行问题
1.3.3 负面效应
1.3.4 单台机器的代码优化问题
1.4 最新剖分软件概述
1.4.1 intelvtune
1.4.2 amdcodeanalyst
.1.4.3 microsoft的profile.exe
1.5 开发自己的剖分软件
1.6 vtune实用剖分知识
1.6.1 第一步:删除prinff函数
1.6.2 第二步:将strlen函数体移出循环
1.6.3 第三步:对齐数据
1.6.4 第四步:删除strlen函数
1.6.5 第五步:删除除法操作
1.6.6 第六步:删除性能监测代码
1.6.7 第七步:函数组合
1.6.8 第八步:减少内存访问操作的次数
1.6.9 第九步:把vtune当做私人教练
1.6.10 第十步:下结论
1.6.11 结果与预测
第2章 ram子系统
2.1 ram概述
2.2 ram的层次结构
2.3 随机存取存储器
2.4 ram的设计与工作原理
2.4.1 内核部分
2.4.2 传统dram(页面模式的dram)
2.4.3 dram的发展
2.4.4 快速页面模式的dram(fpmdram)
2.4.5 存储器时序
2.4.6 扩展数据输出dram(edodram)
2.4.7 突发式edodram(bedodram)
2.4.8 同步dram(sdram)
2.4.9 倍速sdram(ddrsdram)或者sdramⅱ
2.4.10 直接rambusdram(直接rdram)
2.4.11 不同存储器类型的比较
2.5 存储器与处理器之间的交互操作
2.5.1 计算全存取时间
2.6 dram物理地址到逻辑地址的映射
2.7 内存优化操作
2.7.1 建议
2.7.2 展开循环
2.7.3 消除数据相关性
2.7.4 数据并行处理
2.7.5 优化引用数据结构
2.7.6 减小数据结构的尺寸
2.7.7 dram板块上的数据分布策略
2.7.8 规划数据流
2.7.9 按字节、双字与四字进行内存处理
2.7.10 数据对齐
2.7.11 内存访问与计算的组合
2.7.12 读写操作的组合
2.7.13 只在必要时才访问内存
2.7.14 内置c内存处理函数的优化
2.7.15 内存处理函数的优化质量
2.7.16 c字符串库函数的优化
2.7.17 字符串处理函数的质量优化
2.7.18 块处理算法的优化
2.7.19 大型数组排序的优化
2.8 ram测试问题
第3章 高速缓存子系统
3.1 sram的工作原理
3.1.1 历史概况
3.1.2 内核
3.1.3 触发器的设计
3.1.4 逻辑非元件(取反器)的设计
3.1.5 sram阵列的设计
3.1.6 封装接口的设计
3.1.7 读写时序图
3.1.8 静态存储器的类型
3.2 高速缓存的工作原理
3.2.1 起源
3.2.2 高速缓存的目标与任务
3.2.3 高速缓存的组织
3.3 高速缓存与存储器存取的优化
3.3.1 处理数据的尺寸对性能的影响
3.3.2 可执行代码的尺寸对性能的影响
3.3.3 数据对齐效率
3.3.4 数据在高速缓存板块上的分布
3.3.5 使用有限联合数目的高速缓存
3.3.6 维数组的处理
3.3.7 写缓冲机制的详细说明
3.3.8 新一代x86处理器的高速缓存管理
3.3.9 预取机制的实际应用
3.3.10 内存拷贝内幕或者pentiumⅲ与pentium4的新命令
第4章 机器优化
4.1 c/c++编译器的比较分析
4.1.1 常量表达式
4.1.2 代数表达式
4.1.3 算术运算
4.1.4 分支语句
4.1.5 switch运算符
4.1.6 循环
4.1.7 函数调用
4.1.8 变量分布
4.1.9 字符串初始化
4.1.10 死码
4.1.11 常量条件
4.1.12 确定优胜者
4.2 汇编器与编译器的对决
4.2.1 历史回顾--汇编语言使春天永驻
4.2.2 评价机器优化质量的指标
4.2.3 评价机器优化质量的方法
4.2.4 对主要编译器进行比较分析
4.2.5 测试结果的讨论
4.2.6 机器优化质量的示例
4.2.7 用汇编语言创建保护代码
4.2.8 用汇编语言编程是一种创造性活动
4.2.9 结束语
4.2.10 源代码
《医药新零售》内容简介:作为受数字化冲击较为明显的行业——零售业面临着巨大的挑战,不过传统市场仍然有巨大潜力待挖掘的医药零
《我不是产品经理》内容简介:移动互联网商业模式下的用户增长,本质上就是更低成本地获取用户,更高效率地实现商业变现,并在获取
《汉字王国:让中国走向现代的语言革命》内容简介:在地铁上,超市排队时,上班办公的空当,我们都能用大拇指以惊人的速度在手机上
《爱上古诗文》内容简介:一年一度的上海小学生古诗文大会暨古诗文“桂冠少年”选拔活动即将在9月份启动,承办方上海教育报刊总社《
《微商引流爆粉实战手册:全网引流实战300招》内容简介:本书整体上以平台选择为逻辑主线,向读者推荐了诸多引流方法:集赞引流、微
深入浅出AutoCAD.NET二次开发B4003 本书特色 《深入浅出AutoCAD.NET二次开发(附光盘)》由李冠亿编,全书结构合理、图文并茂、讲解生动、实...
《文化传播(2017年第1期/总第1期)》内容简介:本期《文化传播》共收入18篇文章,作者大多系海内外高校或研究机构长期从事人文社会
《美国的故事(套装书共7册)》内容简介:本书聚焦于美国建国前后的激情岁月。从北美殖民地的建立,到独立战争的打响,再到美国前几
《微店+营销,你该这样玩》内容简介:微商,诞生于2009年,2014年开始被大家所熟知。微店的各种操作、功能都属于基础知识,是每个微
《区域(2016年第2辑/总第6辑)》内容简介:本辑内容涉及:在广阔的世界关系中阐释中国“史”的传统及其意义;讨论欧洲民族国家兴起
AutoCAD 2008中文版三维造型项目化案例式教程 内容简介 本书系统介绍了autocad 2008中文版三维造型的各种命令,结合实例深入浅出地讲解了三维造...
《商业摄影核心课》内容简介:这是一本从基础入门技术出发,直指专业高度,揭示商业服装摄影专业技法的实用教材。本书从具体的拍摄
《IP授权商业化:从入门到精通》内容简介:本书是针对授权行业的入门指导及案例分析著作,也是对新形势下IP授权商业化流程进行全面
Linux 驱动程序开发实例-第2版 本书特色 Linux设备驱动程序是高级应用程序与硬件设备之间的桥梁。驱动程序开发是软硬件相互结合的技术。本书是一本专门介绍...
photoshop cs5入门与提高 本书特色 本书从实用的角度出发,全面、系统地讲解了photoshopcs5的所有应用功能,基本涵盖了photoshopcs...
《从1到N:企业数字化生存指南》内容简介:随着新技术的发展成熟,所有的行业都会受到数字化的冲击,区别仅是程度和时间而已。在一
ArcGIS制图和空间分析基础实验教程 内容简介 本书以arcgis9.3desktop软件为例,引导读者由浅入深地掌握gis软件操作技巧。通过基础实验...
《计算机图形学原理及实践:C语言描述(原书第2版)》:这是计算机图形学领域的一部经典之作,作者Fley、vaDam等是国际图形学界的著
《移动Web实现指南:面向移动设备的网站优化、开发和设计》内容简介:从移动网站项目最早的创意和发现阶段,到最后的可用性分析,
《深入理解计算机网络》是计算机网络领域的扛鼎之作,由有20余年从业经验的优秀网络技术工程师兼全国网管技能水平开始认证专家王