通用的优化措施:
1. for循环里尽可能不放计算;
2. 乘法用加法替代;
3. 避免在循环中使用内存别名(使用指针进行读写),原因是,编译器无法知道是否有指向相同地址的指针,同时也在对该地址进行读写操作,因此每次循环必须重新从内存中读取新值,建议使用全局变量统一操作,最后循环结束后,再统一赋值给指针。
4. 尽量使不同的计算过程无关化,以充分利用流水线/

通常来讲,cpu寄存器都有上百个寄存器副本,所以分支预测时,会暂时将计算结果存在副本中,如果预测正确,则写入生效副本中;如果预测错误,则直接丢弃寄存器值即可。