合适用来做开头的介绍,因为比较好记。
1. 循环展开 loop unrolling
2. 循环不变量代码移动 loop hoisting/sinking
3. 循环自动向量化 vectorize(跟unrolling有相似之处,只不过是vectorize)
4. tiling/blocking,让循环更适应caching
5. loop fusion。融合
其他:
1. 强度消减。如j = i * 17,那么其实也等价于j += 17,因为i每次都+1。强度从乘法减为加法。
其他参考:https://en.wikipedia.org/wiki/Loop_optimization