代码优化

出版时间:2004-10-1  出版社:电子工业出版社  作者:(美)Kris Kaspersky  页数:330  字数:462000  译者:谭明金  
Tag标签:无  

内容概要

本书系统深入地介绍了各种代码优化编程技术。全书分为4章。第1章集中介绍如何确定程序中消耗CPU时钟最多的热点代码的所谓程序剖析技术以及典型部分工具的实用知识。第2,3章分别全面介绍RAM了系统与高速缓存子系统的代码优化知识。第4章主要介绍了机器代码优化技术。各章在讨论基本原理的同时详细给出了代码实例,并对优化性能进行了定量的分析。    该书特别适合于作为应用程序员及系统程序员的学习与开发之用。同时,本书对在硬件方面的专业人员与技术工作者有一定的参考价值。

作者简介

Kris Kasperskty是黑客破译、反汇编与代码优化技术的专栏作家。他一直致力于研究安全与系统程序设计方面的问题,内容涉及编译器开发、优化技术、安全机制研究、实时操作系统内核的创建以及反病毒程序的设计等多个领域。
正是因为他虽“杂”却“博”、虽“博”却“深”,才

书籍目录

译者序第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 Intel VTune    1.4.2 AMD Code Analyst    1.4.3 Microsoft的profile.exe  1.5 开发自己的剖分软件  1.6 VTune实用剖分知识    1.6.1 第一步:删除printf函数    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(FPM DRAM)    2.4.5 存储器时序    2.4.6 扩展数据输出DRAM(EDO DRAM)    2.4.7 突发式EDO DRAM(BEDO DRAM)    2.4.8 同步DRAM(SDRAM)    2.4.9 倍速SDRAM(DDR SDRAM)或者SDRAM II    2.4.10 直接Rambus DRAM(直接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章 高速缓存子系统第4章 机器优化

图书封面

图书标签Tags

评论、评分、阅读与下载


    代码优化 PDF格式下载


用户评论 (总计19条)

 
 

  •     这本书不算差,但也算不上经典,对于时间并非非常充足的人,这本书可读可不读,建议先去读《深入理解计算机系统》中的第1部分,对代码的优化就可以有个基本了解,如果想继续深入,也不一定非得读此书,因为此书中的大量篇幅都在讲内存的底层原理
  •     还能翻译得再晦涩点么?这水平跟google翻译差不多啊!
      "TLB"译的那是什么啊,感觉译者完全不懂书中的内容似的!!!
      
      
       抱歉,你的评论太短了 抱歉,你的评论太短了 抱歉,你的评论太短了 抱歉,你的评论太短了 抱歉,你的评论太短了 抱歉,你的评论太短了 抱歉,你的评论太短了
       抱歉,你的评论太短了!!!!
      
  •     看了这本书才发现,自己以前那些什么“一次复制4个字节”之类的技巧只能算小聪明。程序性能瓶颈不是那么简单就能看出来的,而是各种因素的综合:指令流水线、内存地址对齐、操作系统页面大小、Cache是否命中……
      
      如果你想优化CPU密集的程序,本书一定要看。
      
      也有一些不足之处:举的例子都比较老,VC++ 6.0,几种编译器比较也没有gcc,没有讨论Linux操作系统,比较新的内存(DDR2、DDR3)也没有介绍。
  •     这本书对于搞高性能程序的人是必看的。内存不再是抽象的一个存储单位, 而是像硬盘那样的设备了. 从此你写码的时候 会注意到这条指令是访问内存 很耗时。看了它, 再看glibc的代码, 看你熟悉的memcpy,strcpy, strlen....怎么实现的, 你会发现书的写的内容,glibc库作者在广泛用哦。。。
  •     讲代码底层优化的书很少, 讲的这样底层的更少. 如果关心 CPU 级别的代码优化, 这本书一定要读. 至少比读 Intel 的手册来节省时间.
      
      可惜的是译者明显这方面的功利不足,导致翻译的质量不高. 如果你对这方面有一些研究, 那么翻译的差一点其实也无所谓.
  •   "大量篇幅都在讲内存的底层原理"你指的是tlb啊分页啊吗?//我没看过,只是问问.thx
  •   最后一句看不懂
  •   你会发现书的写的库作者在用哦。。。,真看不懂
  •   你会发现书上写的东西 库的作者在用哦。。。
  •   弱问下,glibc 是什么?
  •   很不错的书,有没有电子版的啊,太贵了
  •   书不贵啊...看懂的话,它就只有你收入的零头
  •   大神推荐的一定要看啊
  •   如果像我这样没有研究的人呢?
  •   那就祝楼上的好运喽,哈哈
  •   图书馆的书借来了,还没看。
  •   1.翻译确实蛋疼。
    2.看到129页看不动了,有时间再接着看。。
    3.这本书绝对应该加进大学选修课
  •   对待优化,态度最重要。代码书写的时候需要有一些注意点,不过感觉盲目优化也是没有必要的,适用一些工具进行定位,寻找性能瓶颈,诸如VTune之类的工具还不错。
  •   这本书不算差,但也算不上经典,对于时间并非非常充足的人,这本书可读可不读,建议先去读《深入理解计算机系统》中的第1部分,对代码的优化就可以有个基本了解,如果想继续深入,也不一定非得读此书,因为此书中的大量篇幅都在讲内存的底层原理
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7