C程序性能优化

C程序性能优化 pdf epub mobi txt 电子书 下载 2025

出版者:人民邮电出版社
作者:片山善夫
出品人:
页数:139
译者:何本华 居福国
出版时间:2013-1-1
价格:29.00元
装帧:平装
isbn号码:9787115300003
丛书系列:图灵程序设计丛书·C/C++系列
图书标签:
  • C
  • 性能优化
  • 编程
  • 编程优化
  • C/C++
  • 程序设计
  • 日本
  • 计算机科学
  • C语言
  • 性能优化
  • 编程
  • 效率
  • 算法
  • 内存管理
  • 编译器
  • 多线程
  • 代码优化
  • 系统编程
想要找书就要到 小美书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

本书作者精通C程序性能优化,具有近二十年的C语言编译器和解释器开发经验,还为实时图像处理专用芯片开发过C编译器。

作者从CPU与编译器的运行机制讲起,带领读者一步步了解程序的执行成本、编译器的优化选项等,总结出许多C程序性能优化的技巧,并将这些技巧通过实验的方式进行讲解,简明易懂,使人印象深刻。书中带有大量的代码实例,使读者不仅能够了解代码优化的原理,还能够轻松地在实践中加以应用。

作者简介

片山善夫

具有近二十年的C语言编译器和解释器开发经验。现从事对SPARC、VisionChip等体系结构的研究。

目录信息

第1 章  CPU 与编译器概论
1.1  高速路与人行道  002
1.2  编译器是如何运作的  003
编译后的汇编语言程序  004
添加优化选项后的结果  007
1.3  CPU 是如何运作的  008
指令集架构与微架构  008
如何执行指令  009
指令流水线  011
高速缓存  012
深入探讨高速缓存  013
缓存块的替换算法  015
超标量指令执行  015
第1 章  是不是偏离了主题  017
第2 章  执行成本
2.1  两程序的执行成本 020
2.2  计·测·谋  020
书中的探讨  020
2.3  防止基准测试程序被优化  023
防止操作“归并”  023
防止变量在初始化时被优化  024
防止重复单一指令被优化  025
本书中的基准测试程序  026
2.4  验证——哪一步操作导致执行速度缓慢  029
2.5 基础加法与赋值运算  031
单一的赋值操作(寄存器间的传送)  032
单一的赋值操作(数据相互关联的情况)  032
常量赋值  033
变量间的加法运算  033
变量与常量相加  034
2.6  耗时的乘法运算  036
变量间的乘法运算  037
变量与常量相乘  037
2.7  更为耗时的除法运算  040
变量的除法(寄存器间的计算)  040
除数为2、4 的除法运算  042
除数不是2 的乘方的除法运算  042
无符号整数除法运算  042
除数为2 的乘方时除法运算使用低成本移位指令  043
2.8  内存读取  045
小数组的读取(小范围内的内存操作)  045
大数组的读取( 大范围内的内存操作)  047
与台式机的CPU进行比较  049
2.9  造成执行时间差别的判断语句  051
无else节点的if 语句  051
带else节点的if 语句  053
2.10  32/64 位环境中不同的函数调用  053
2.11  实验总结  055
若想被爱则先爱  055
第3 章  寻找性能瓶颈
3.1 使用gprof 命令进行分析  058
gprof的使用方法  058
3.2  哪个环节在消耗时间  058
获取库函数的评测信息  060
耗时的函数  062
显示库函数的调用次数  063
3.3  函数的调用关系  063
3.4  进行数据分析的原理  066
3.5  其他性能分析器  067
培养高水平人才的教育系统  068
第4 章  达人方法论
4.1  达人的关注点  072
硬件篇  072
编译器/ 中间件篇  074
算法篇  075
4.2  【硬件篇】数组和缓存的有效利用  076
矩阵的乘法运算  076
调整数组操作的顺序  077
展开循环的方式  078
矩阵的分块  079
4.3  【库函数篇】缓慢函数的迂回战术  080
strcmp 函数为何缓慢  080
优化的陷阱  081
4.4  【硬件篇】 使用SIMD 进行字符串对比  083
4.5  【库函数篇】对比各种输入输出方法  085
行输入函数的对比  085
输出方法  089
管道输入输出的特殊案例  091
管道输入输出与文件输入输出  092
4.6  【 算法篇】二分法查找与平衡二叉树  092
海量数据的分类  093
真要做到如此地步?  097
第5 章  进一步研究编译器
5.1  不同级别的优化选项  100
GCC 的优化选项  100
“零优化”对调试有效  100
以不出现未定义行为为前提的2 级以上优化选项  101
5.2  优化·寄存器·外部变量  102
5.3  删除公共子表达式为程序瘦身  104
5.4  指针与复杂运算简化  105
5.5  将用户函数进行内联展开  106
和别人拉开差距!  108
第6 章  给办公系统的一些启示
6.1  排序与字符串操作  112
6.2  小数点数的计算与字符串/ 数字的换算  112
块数据输入输出和字段分割  113
统计带小数部分的数  113
整数转换成字符串  115
性能优化的效果  116
6.3  半角字符转换为全角字符  117
判定字符的字节数  118
ASCII字符与半角片假名字符的判定  119
ASCII字符转换为全角字符  123
半角字符转换为全角字符  124
性能优化的效果  127
判定字符字节数的其他方法  127
有关UTF-8  130
6.4  探索具有某种数据特性的数组  132
数据的特性  133
二分法查找与线性查找相结合  135
性能优化的效果  138
后记  139
· · · · · · (收起)

读后感

评分

应领导要求看了该书,领悟了一些东西,虽然有些方法不是很同意。我一直觉得应该写好代码框架,可读可维护,再抠性能。我们的目标应该是,用面向过程的高效语言(C),实现面向对象的思想,达到程序架构合理并高效的最终目标。 有些代码欠保护型处理,需要斟酌。部分关于cache的内...

评分

应领导要求看了该书,领悟了一些东西,虽然有些方法不是很同意。我一直觉得应该写好代码框架,可读可维护,再抠性能。我们的目标应该是,用面向过程的高效语言(C),实现面向对象的思想,达到程序架构合理并高效的最终目标。 有些代码欠保护型处理,需要斟酌。部分关于cache的内...

评分

应领导要求看了该书,领悟了一些东西,虽然有些方法不是很同意。我一直觉得应该写好代码框架,可读可维护,再抠性能。我们的目标应该是,用面向过程的高效语言(C),实现面向对象的思想,达到程序架构合理并高效的最终目标。 有些代码欠保护型处理,需要斟酌。部分关于cache的内...

评分

应领导要求看了该书,领悟了一些东西,虽然有些方法不是很同意。我一直觉得应该写好代码框架,可读可维护,再抠性能。我们的目标应该是,用面向过程的高效语言(C),实现面向对象的思想,达到程序架构合理并高效的最终目标。 有些代码欠保护型处理,需要斟酌。部分关于cache的内...

评分

应领导要求看了该书,领悟了一些东西,虽然有些方法不是很同意。我一直觉得应该写好代码框架,可读可维护,再抠性能。我们的目标应该是,用面向过程的高效语言(C),实现面向对象的思想,达到程序架构合理并高效的最终目标。 有些代码欠保护型处理,需要斟酌。部分关于cache的内...

用户评价

评分

这翻译得也是醉了,fgets和getline那一部分看不懂。醉了,对于有强迫症的低水平的人来说,这真是毒药啊。2016-6-27。

评分

这翻译得也是醉了,fgets和getline那一部分看不懂。醉了,对于有强迫症的低水平的人来说,这真是毒药啊。2016-6-27。

评分

一般般,多数的技巧都是已知的。

评分

非技术翻译,内容过关

评分

这翻译得也是醉了,fgets和getline那一部分看不懂。醉了,对于有强迫症的低水平的人来说,这真是毒药啊。2016-6-27。

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.quotespace.org All Rights Reserved. 小美书屋 版权所有