- 1、本文档共73页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十一章 代码优化 11.1 优化技术简介 11.2 局部优化 11.3 控制流分析和循环优化 11.1 优化技术简介 一、优化的原则 1、等价原则 优化后不改变原程序运行的功能。 2、有效原则 优化后产生的目标代码运行时间较短,占用空间较小。 三、优化分类 (1)局部优化:对基本块内的代码进行优化 (2)循环优化:对循环中的代码进行优化 (3)全局优化:在整个程序范围内的优化 四、常用优化技术简介 1.删除多余运算 2.循环不变代码外提 3.强度削弱 4.变换循环控制条件 5.合并已知量与复写传播 6.删除无用赋值 1.删除多余运算(删除公共子表达式): 例如:(假设数组元素占用空间为4个字节) P:=0 for I:=1 to 20 do P:=P+A[I]*B[I] (6)T4:=4*I (7)T5:=addr(B) (8)T6:=T5[T4] (9)T7:=T3*T6 (10)P:=P+T7 (11)I:=I+1 (12)if I=20 goto(3) 2、代码外提 目的:减少循环中代码总数。 方法:把循环不变运算,即其结果独立于循环执行次数的表达式提到循环的前面,使之只在循环外计算一次。 (1)P:=0 (2)I:=0 (3)T1:=4*I (4)T2:=addr(A) (5)T3:=T2[T1] (6)T4:=T1 (7)T5:=addr(B) (8)T6:=T5[T4] (9)T7:=T3*T6 (10)P:=P+T7 (11)I:=I+1 (12)if I=20 goto(3) (1)P:=0 (2)I:=0 (3)T1:=4*I (5)T3:=T2[T1] (6)T4:=T1 (8)T6:=T5[T4] (9)T7:=T3*T6 (10)P:=P+T7 (11)I:=I+1 (12)if I=20 goto(3) (1)P:=0 (2)I:=0 (4)T2:=addr(A) (7)T5:=addr(B) (3)T1:=4*I (5)T3:=T2[T1] (6)T4:=T1 (8)T6:=T5[T4] (9)T7:=T3*T6 (10)P:=P+T7 (11)I:=I+1 (12)if I=20 goto(3) (1)P:=0 (2)I:=0 (4)T2:=addr(A) (7)T5:=addr(B) (5)T3:=T2[T1] (6)T4:=T1 (8)T6:=T5[T4] (9)T7:=T3*T6 (10)P:=P+T7 (11)I:=I+1 (12)if I=20 goto(5) 4、变换循环控制条件 经过变换后,有些变量不被引用,可以从循环中删除。 (1)P:=0 (2)I:=0 (4)T2:=addr(A) (7)T5:=addr(B) (3)T1:=4*I (5)T3:=T2[T1] (6)T4:=T1 (8)T6:=T5[T4] (9)T7:=T3*T6 (10)P:=P+T7 (11)I:=I+1 (3’)T1:=T1+4 (12)if I=20 goto(5) (1)P:=0 (2)I:=1 (4)T2:=addr(A) (7)T5:=addr(B) (3)T1:=4*I (5)T3:=T2[T1] (6)T4:=T1 (8)T6:=T5[T4 ] (9)T7:=T3*T6 (10)P:=P+T7 (3’)T1:=T1+4 (12)if goto(5) 5、合并已知量与复写传播 编码时的已知量—常数,可在编译时计算出它的值,这种变换称为合并已知量或常数合并。 通过复制后没有再改变的值可以互相替换,不会改变程序的结果,这种变换称为复写传播。 复写传播 tmp2 = tmp1 ; tmp3 = tmp2 * tmp1; tmp4 = tmp3 ; tmp5 = tmp3 * tmp2 ; c = tmp5 + tmp4 ; tmp3 = tmp1 * tmp1 ; tmp5 = tmp3 * tmp1 ; c = tmp5 + tmp3 ; (1)P:=0 (2)I:=0 (4)T2:=addr(A) (7)T5:=addr(B) (3)T1:=4*I (5)T3:=T2[T1] (6)T4:=T1 (8)T6:=T5[T4] (9)T7:=T3*T6 (10)P:=P+T7 (3’)T1:=T1+4 (12)if T1=80 goto(5) (1)P:=0 (2)I:=0 (4)T2:=addr(A) (7)T5:=addr(B) (5)T3:=T2[T1] (6)T4:=T1 (9)T7:=T3*T6 (10)P:=P+T7 (3’)T1:=T1+4 (12)if T1=80 g
您可能关注的文档
- 维修三车间+机械制图教学课件.ppt
- 汉字总动员.ppt
- 2016年高考地理二轮复习专题十四自然资源课件方案.ppt
- 绿地率计算方式.pptx
- 2016年高考复习备考文化常识100题方案.doc
- 2016年高考化学工艺流程专题复习方案.doc
- 绵阳户型图.ppt
- 汉字达人大赛赛制.doc
- 汉字英雄大赛活动策划案.doc
- 2016年高考复习三角函数图像和性质方案.doc
- 北师大版小学数学三年级上册《寄书》教学设计.docx
- 统编版(部编版)语文二年级上册《雪孩子》教学设计.docx
- 统编版(部编版)语文二年级上册《八角楼上》教学设计.docx
- 北师大版小学数学三年级上册《长方形周长》教学设计.docx
- 北师大版小学数学三年级上册《丰收了》教学设计.docx
- 统编版(部编版)语文二年级上册《夜宿山寺》教学设计.docx
- 统编版(部编版)语文二年级上册《风娃娃》教学设计.docx
- 统编版(部编版)语文二年级上册《朱德的扁担》教学设计.docx
- 统编版(部编版)语文二年级上册《难忘的泼水节》教学设计.docx
- 统编版(部编版)语文二年级上册《纸船和风筝》教学设计.docx
最近下载
- 建材市场物业服务方案.pdf VIP
- 质子泵抑制剂临床应用指导原则2020版.pptx VIP
- 执行民主集中制方面存在不足范文四篇.pdf VIP
- 贵州省贵阳市2023-2024学年高三11月质量监测生物试题(解析版).docx
- 2024年山东省“大学习、大培训、大考试”专项行动(工贸行业)考试题库资料(含答.pdf
- 2025-2028年青年教师三年培养计划及实施方案.docx
- 法理学(西南政大)中国大学MOOC 慕课 章节测验 期末考试答案.docx
- 新教材 高中生物选择性必修一 稳态与调节 复习提纲 知识总结.doc
- T_CECS 1240-2023 弃土场工程技术规程(OCR).pdf
- 许林芳《薪酬绩效》私房课笔记.pdf VIP
文档评论(0)