简单列一下CPU的优化加速方向:
- 循环展开, 不过大部分的编译器已经帮你做了
- 减少分支,可以考虑利用计算, cpu的计算是可以并行的,换取逻辑判断的额时间
- SIMD: 比如ARM架构的采用neon, 带有的时候编译器也帮你做了
- 计算变查表,前提是table的尺寸不是很大, 最好不要超过L1 cache的大小
- 减少内存的访问, 这个其实很大头, 比如合并两个loop,把遍历次数减少
- 多线程,但对于计算量不高的,可能功耗会提升
更多详细的知识可以学习《C++高性能编程》 这本书
简单列一下CPU的优化加速方向:
更多详细的知识可以学习《C++高性能编程》 这本书