热搜关键词: 信号与系统无刷电机ADSTCP/IP

pdf

C程序性能优化

  • 1星
  • 日期: 2021-12-17
  • 大小: 40.41MB
  • 所需积分:0分
  • 下载次数:5
  • favicon收藏
  • rep举报
  • free评论
标签: 编程

编程

c language

c language

優化

優化

最佳化

最佳化

  C程序性能优化

  作者:  片山善夫

  出版社:  人民邮电出版社 

副标题:  20个实验与达人技巧

目录    ·  ·  ·  ·  ·  ·

第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

推荐帖子 最新更新时间:2022-01-20 18:07

C语言嵌入式系统编程之软件架构篇
模块划分   模块划分的“划”是规划的意思,意指怎样合理的将一个很大的软件划分为一系列功能独立的部分合作完成系统的需求。C语言作为一种结构化的程序设计语言,在模块的划分上主要依据功能(依功能进行划分在面向对象设计中成为一个错误,牛顿定律遇到了相对论),C语言模块化程序设计需理解如下概念:   (1) 模块即是一个.c文件和一个.h文件的结合,头文件(.h)中是对于该模块接口的声明;   (2
fan3060 嵌入式系统
直播现场问答记录:2017年3月30日TI 在智能家电领域的新型传感技术
直播日期:2017年3月30日 主题:TI 在智能家电领域的新型传感技术 回放:http://training.eeworld.com.cn/TI/video/9209 现场问答记录: 1、功耗方面有优势吗?                功耗是我们重点地之一,低功耗TI有很好的优势 2、现在智能控制都便携式,功耗控制很关键,想了解下TI这方便的优势?                TI
EE大学堂 TI技术论坛
传感器硬件连接啊
我想通过测电机的转速控制3个舵机  比如电机每分钟30转时第一个舵机向左转半圈,电机转速每分钟60转时第一个舵机回位然后向右转半圈  电机转速90时 第一个舵机回位,第二个舵机像左转半圈,当电机120转时第二个舵机归位然后向右转半圈  然后依次类推。最后当电机转速慢下来后舵机还要依次重复之前动作倒着做完。请问用什么传感器等电子器件。然后硬件怎么连接。我是小白,能帮多少帮多少,我还会慢慢研究。谢谢啦
15178956712 传感器
【Altera SoC体验之旅】+ Lark上ARM开发环境搭建和配置
【Altera SoC体验之旅】+ 初见Lark http://bbs.eeworld.com.cn/forum. ... 4231&fromuid=169743 (出处: 电子工程世界-论坛) 【Altera SoC体验之旅】+ Lark冒烟测试 http://bbs.eeworld.com.cn/forum. ... 4241&fromuid=169743 (出处: 电子工程世界-论
zhaoyongke Altera SoC
基于DSP的感应电机SVPWM矢量控制系统
本帖最后由 灞波儿奔 于 2020-5-1 20:29 编辑 一种基于 DSP的感应电机矢量控制系统。该系统以智能功率模块 IPM组成交流-直流-交流的电压型逆变器,运用 TMS320F2812设计了 SVPWM的实现方法,并给出了矢量调速系统的硬件和软件设计方法。 近年来交流变频调速系统发展很快,已成为调速系统的主要研究和发展方向。1971年提出的矢量控制理论根据磁动势等效原则,应用坐标
灞波儿奔 DSP 与 ARM 处理器
中断释放互斥信号量有问题
本帖最后由 seanwaye 于 2017-6-1 16:33 编辑 各位朋友好: 最近调试代码遇到个问题: 假设Task_A和Task_B两任务的优先级分别为high和low,这两个任务都需要使用互斥信号量mutex,这个互斥信号量在中断服务函数里面释放,代码简略示意如下: Task_A() {       .............    while(1)    {
seanwaye 实时操作系统RTOS

评论

登录/注册

意见反馈

求资源

回顶部

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版 版权声明

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2022 EEWORLD.com.cn, Inc. All rights reserved
×