当我想要加速部分代码时,我使用查找表而不是函数。在其他语言中,我使用全局数组来完成这项工作。我预先计算了所有返回值,并将它们放入一个数组中。
下面是一个函数的示例:
public static int Box(int c) { /* c value range is 0-80 */
return ((c / 9) / 3) * 3 + ((c % 9) / 3);
}
我可以使用这样的数组:
int Box[] = {0,0,0,1,1,1,2,2,2,0,0,0,1,1,1,2,2,2,0,0,0,1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,3,3,3,4,4,4,5