首先,必须给开源中国的博客系统点个赞,右边的标题导航真的很方便,跟CSDN"十几年"一尘不变的画风比起来真的甩了好几条街,说不定一言不合就超越CSDN了(什么?已经超越了?)~以下内容目前只是大胆猜测、感觉、没有查阅过一些资料(这样的资料好像很难找,其实是我蠢),不对的地方希望被指正。
由于之前没做过相关优化,所以做一些猜想吧,大概分这么几种:
1、寄存器级优化
OpenCV里filter2D的double型以4元素为一组的计算应该就是这个套路。实测能降低42.8%的时间开销(当然,只针对某一芯片)
2、指令集优化
比如SSE,这个很经典!
3、Cache级优化
由于Cache 的访问速度比主存快好几个数量级,所以如果CPU调度指令能够较准命中数据块的话,对于算法执行的效率提升有极大帮助,毕竟如果Cachemiss太高导致执行周期过长的话很可能就要轮更多的时间片了