框架:
1.多线程,要注意,不同块之间不能共享权重,要分开命名。如果共享的话会改变的,也就是多线程传入每个块会改变这些值,造成bug!!
2.还有注意多线程的参数,生存周期,万一外面释放了,多线程里面也做不了的,这个要注意!!
优化:
1.常用的数就放在循环外面,想办法也要放在外面。
2.热循环里面各种精简。如果不方便写neon的话就放到后面,或者其他地方。
3.neon和c之间,一些数据要记得往位移的。neon用w来定位的,c如果也用w的话,数据要移位的
4.寄存器很多的时候,一定要注意寄存器是否压栈,而且在热代码之内,从寄存器到寄存器要更快,所以vdupq_lane_f32比vdupq_n要快很多!!
5.细节~细心,就是RGB这些不能写错,尤其复制来的一定要记得修改!
工具:
1.IDA 会定位搜寻,以及多次重复查看效果需要,1)重启,2)要清空id0,id1,id2等。
2.IDA backtrace 现在可以不用怕了。直接可以反汇编定位
3.compare