妨碍程序优化的因素
1、两个指针可能指向同一个位置,因此不能进行简单的优化,否则会产生和原程序不一样的结果
2、函数调用,当函数调用次数对某个全局变量的值有影响的时候就不能简单地进行优化
可行的优化:内联函数替换,但会导致调试和代码剖析无法达到预期的效果
衡量程序性能的参数
每元素的周期数(Cycles Per Element,CPE)
适当消除妨碍程序优化的因素
1、使用“-O1”等编译器优化等级
2、消除循环的低效率 —— 代码移动
3、减少过程调用
4、消除不必要的内存引用
处理器设计的两个主要部分
1、指令控制单元(Instruction Control Unit,ICU)
2、执行单元(Execution Unit,EU)
当程序遇到分支时,处理器会采用“分支预测”技术,猜测是否会选择分支,并预测分支的目标地址,使用“投机执行”技术,取出指令对指令译码。