本书系统深入地介绍了各种代码优化编程技术。全书分为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 源代码
用户体验的优劣直接影响了网站能否成功实现自身的目标,如吸引访客点击、引导用户注册、说服顾客下单购买,等等。《众妙之门:We
网页制作综合技术教程 本书特色 遵循符合web标准的设计思想,讲解适于实际工作的网页元素,提供丰富的教学典型案例。网页制作综合技术教程 内容简介 本书全面介绍了...
“赢在京东”系列电商教程是京东官方认证用书,由一线业务精英和权威专家团队出品的电商读物,将不断分享京东发展过程中的优势资
《命运好好玩(汉、英双语版)》内容简介:蔡澜为人幽默风雅,以鲜活、生动的文字讲述他的所见所闻,与读者分享他的识见。他说:“
《智能变电站二次设备调试实用技术》内容简介:本书是针对二次检修人员的智能变电站调试技术技能培训的教材,全书共7章,主要包括二
《解码中国管理模式③》内容简介:作为中国管理界首个针对中国企业管理实践成就的荣誉奖项,“中国管理模式杰出奖”致力于打造一个
《儿童歌曲演唱教程 低幼版》内容简介:《儿童歌曲演唱教程(低幼版)》适合幼儿园和小学音乐教学使用。作者:尤静波、高歌作品目录
Readytoexploretheglamourousworldofwirelesssensornetworking?Createdistributedsens...
《砖瓦》内容简介:中国古代建筑采用木结构体系,一座房屋的木构架完成后,在屋面上用瓦铺顶,在立柱之间用砖砌墙,从而围合成可使
Whateveryourprogramminglanguage,whateveryourplatform,youprobablytapintolinkerand...
《你不知道的美国那些事儿》内容简介:作者专从华侨华人及留学生在美国政治、经济、文化和其他领域的生活视点出发,展示美国华人社
《编写高质量代码:改善Python程序的91个建议》内容简介:在通往“Python技术殿堂”的路上,本书将为你编写健壮、优雅、高质量的Py
本书是与日俱增的关于因特网利弊之文献的重要补充。——《哲学评论》关于因特网种种承诺的一次清晰辨析……以哲学家的眼光审视一
《逍遥游:当《庄子》遭遇现实》内容简介:中国当代思想隐士熊逸,中国思想史系列;如果你渴望洒脱自由的人生,就应该拥有这本书。
一日你逛進某間生活道具店,喜歡上它挑選與擺設的品味,更因店主豐富的知識與真心推薦而更深入認識這個世界,再也不必費心尋覓,
《父与子的编程之旅(第3版)》内容简介:编程是一项充满乐趣的挑战,想上手非常容易!在本书中,沃伦和卡特父子以亲切的笔调、通俗
《抗战时期中共对根据地社会生态改造研究》内容简介:本书主要通过以下三个问题来深入分析抗战时期中共陕甘宁和晋西北根据地复杂而
《有趣得让人睡不着的益智游戏》内容简介:本书精心搜集了数百则形式多样、趣味无穷的益智游戏,带你进入全新的“玩”的世界。简练
本书主要介绍了:数字逻辑概论,逻辑代数和Verilog硬件描述语言,逻辑门电路,组合逻辑电路,锁存器和触发器,时序逻辑电路,存储
《Boost程序库完全开发指南:深入C++"准"标准库》内容简介:Boost是一个功能强大、构造精巧、跨平台、开源并且完全免费的C++程序库