数值计算的常见优化方法
浮点运算变整数运算
CPU 进行浮点运算比较慢,我们可以用整数运算进行替代,比如
0.299 * X
转换成
(229 * X)/1000
位移代替计算
当乘与或者除于 2^N
次方时,可以使用位移运算来左移/右移N位来代替,比如
(229 * X) / 1000
转换成
(1224 * X) / 4096
由于 4096 是 2^12
因此只需要把 1224 * X
的值右移12位即可
查表法
当某些运算式子大量重复时,我们可以把这些式子的值预先计算出来并缓存起来。在后面需要的时候直接把结果查出来。
unsighed short 代替 int 类型
编译器处理 unsigned short 类型的效率比 int 类型高,当计算范围足够时,可以使用 unsigned short 代替 int 类型
内联函数
将函数声明为 inline,可以减少 CPU 调用函数所产生的开销。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论