本书系统深入地介绍了各种代码优化编程技术。全书分为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 源代码
内容简介:阿国内第一本基于Android2.0的经典著作,5大专业社区联袂推荐,权威性毋庸置疑!本书内容全面,不仅详细讲解了Android
《Premiere Pro CC 视频编辑案例课堂》内容简介:Adobe Premiere Pro CC是Adobe公司推出的一款非常优秀的视频编辑软件,它以其...
Ajax正在将我们带入到下一代的网络应用中。本书深入探讨了动态的网络应用,将Ajax和REST集成在一起作为单独的解决方案。一个很大
《jQuery高级编程》从开发人员的层次对iQuery提供了一个全面的介绍。另外还深入介绍了iQuery的很多高级特性。在《jQuery高级编程
HarnessthepowerofJavaServerFacestocreateyourownserver-sideuserinterfacesfortheWe...
数据库系统基础教程-原书第3版 本书特色 《数据库系统基础教程(原书第3版)》特点:全面改版的组织结构。UML数据库模型的新内容。包括3NF综合算法在内的操作依...
Forundergraduate-levelcoursesinSignalsandSystems.Thiscomprehensiveexplorationofs...
《中国历代传统纹样》全篇从史前时期到明清时期共分八章,侧重点放在中国历代的纹样描述上。我国的传统纹样源远流长,从原始图腾
作为享誉全球的设计大师,原研哉将日本的生活美学和设计理念带给了全球的读者,我们也许看到过大师精彩的设计作品以及以他的理念
《坚守坐拥的书城》内容简介:学者不管怎么挣扎,都自有他的“不自由”,那就是无论如何也舍不得离开他的书。可“坐拥书城”也自有
《手到琴来1》内容简介:本系列将会成为自《吉他之友》后又一套在全国热卖的吉他季刊。整个系列一年会发布4本曲集,每本曲集将选取
《JSP应用开发详解》(第3版)结合JSP和Servlet的最新规范,从基本的语法和规范入手,以经验为后盾,以实用为目标,以实例为导向,
《天文观测完全手册》内容简介:《天文观测完全手册》针对天文爱好者,以天文观测为主线,兼顾天文摄影,从我们最熟悉的太阳系讲起
Office2016办公专家 从入门到精通 本书特色 office已是当今应用*广泛的办公软件套装之一,熟练使用office也成为职场人士**的职业素养。本书以...
本书是日本最畅销的大数据商业应用指南。书中结合野村综合研究独家披露的调查数据,网罗了美国、日本标杆企业与政府的应用案例,
Themostcomprehensiveguideavailableontherapidly-expandingfieldofHCI,thisbookillus...
《林家铺子:茅盾精读》内容简介:本书是茅盾中短篇小说及散文代表作的精选集。茅盾继承了“五四”时期文学研究会“人生派”的现实
两难境地的明智抉择 内容简介 首先要说的是我深刻感到了中国软件行业的问题严重性,也特别同情中国共享软件作者的境遇。也学很多人会认为做软件的尤其是知名软件的厂商或...
“本书是Summit以及CFAQ在线列表的许多参与者多年心血的结晶,是C语言界最为珍贵的财富之一。我向所有C语言程序员推荐本书。”—
HTML5 APP开发从入门到精通-(基于HTML5+CSS3+jQuery Mobile+Bootstrap) 本书特色 《HTML5 APP 开发从入门到精...