移动端算法加速总结

5 篇文章 1 订阅
1 篇文章 0 订阅

做了几个月的移动端算法性能加速,略有心得,这里做个小结。

性能加速,即对于给定的输入,用更短的时间获得我们想要的输出。

总的来说有两个思路:

  1. 降低计算量
  2. 提高计算速度。

各种优化技术基本上都是围绕这两点展开的。

降低计算量

  • 优化算法或模型,使得用更少的计算量就可以达到同样的效果
  • 简化算法或模型,使得在牺牲部分准确度或效果的情况下速度能有大幅提升,看应用场景
  • 算法本身不变,优化实现。或将算法中可能存在的重复计算抽离出来,结果进行复用,或其它tricks
  • 空间换时间,如查表

提高计算速度

  • 增加计算并行度,如多线程/进程
  • SIMD向量化
  • 代码层面fine tune,如考虑缓存命中,浮点转定点,流水线优化
  • 提高硬件性能,或采用更高性能的计算单元

还有一些特殊情况,要根据特定的应用场景来做加速,通用的加速是较困难的,要做到在所有输入条件下都能有理想的提升不容易,因此可以退而求其次,只针对常用的几种情况进行有针对性的加速,如限定网络大小,限定图像缩放倍数,限定光流窗口大小等。这样的加速依然是有效的,脱离业务层面的加速是没有太大必要的,技术是为业务服务的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风语

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值