暗无天日

=============>DarkSun的个人博客

数值计算的常见优化方法

浮点运算变整数运算

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调用函数所产生的开销。