第9章代码优化9.1代码优化概述9.2局部优化9.3控制流程分析和循环优化9.4数据流分析举例代码优化的概念代码优化的概念代码优化的角色代码优化的角色代码优化代码优化代码优化的层次代码优化的层次代码优化的评价代码优化的评价代码优化实例介绍代码优化实例介绍代码优化的角色代码优化的角色软件开发:工程化方法软件开发:工程化方法–设计语言的发展:第四代语言设计语言的发展:第四代语言–编程模型的发展:构件化编程模型的发展:构件化–目标:提高软件生产效率目标:提高软件生产效率近近2020年来年来55%%//年增长年增长–强调:可阅读性、可理解性、可维护性强调:可阅读性、可理解性、可维护性–要求:良好的代码风格要求:良好的代码风格代码优化的角色代码优化的角色运行环境:运行环境:–体系结构的发展:体系结构的发展:SMPClusterSMPCluster,,CELCELLL–生成工艺的发展:亚微米-生成工艺的发展:亚微米->>纳米纳米–目标:提高计算性能目标:提高计算性能摩尔定律摩尔定律–提供:更多硬件机制(指令、寄存器)提供:更多硬件机制(指令、寄存器)–要求:充分发挥硬件性能要求:充分发挥硬件性能代码优化的角色代码优化的角色沟通软件开发与运行环境的桥梁沟通软件开发与运行环境的桥梁–计算机领域基本技术之一计算机领域基本技术之一–目前的热点研究领域之一目前的热点研究领域之一–与体系结构结合(与体系结构结合(IA64IA64))–与设计语言结合(与设计语言结合(JITJIT))身边的实例身边的实例–Debug/ReleaseDebug/Release版版–--OO选项选项代码优化代码优化代码优化:代码优化:–为获得较好性能的代码而进行的变换为获得较好性能的代码而进行的变换–等价变换:保证运算结果相同等价变换:保证运算结果相同性能指标性能指标–速度:高性能计算速度:高性能计算–空间:工控领域,空间:工控领域,Firmware…Firmware…–能耗:移动设备能耗:移动设备目标目标代码优化代码优化优化策略:优化策略:–权衡(权衡(tradeofftradeoff):意图、结果):意图、结果–简洁:简洁:KISSKISS((KeepItSimpleKeepItSimple,,StupiStupidd))–分工:编译阶段、软件处理、硬件机制分工:编译阶段、软件处理、硬件机制优化的阶段:优化的阶段:用户用户(sourcefront(I.R)(sourcefront(I.R)code(targetcode(targetcode)endcode)endgeneratorgeneratorcode)code)中间代码优化...