一般采用gprf等工具对程序运行进行动态采样,来找出关键调用点,在这个基础上有针对性的进行优化,效果会比较明显
2. 空间换时间,通过增加内存使用来对指令数进行优化
3. 关键算法优化,一般对于比较核心,并且频繁调用的算法进行优化,对于性能提升帮助较大
4. 减少cache miss,一般CPU取数据是按cache line来取的,最好能保证数据访问的连续性,减少频繁的内存寻址
5. 少用lock,atomic等操作,通过精心设计来减少锁调用,因为锁调用一次相当于所有的L1 cache需要sync一次,消耗时间较多,另一方面不同处理流程相互等待,整体上性能影响较大
转载请注明