哈希函数的改进

时间:2012-10-01 17:29:54

标签: performance actionscript-3 hash vector spatial

这是关于2d的空间散列...(对不起,如果它不是我正在谈论的空间散列)
我们将x和y coord转换为表示桶(组)的数组中的索引 我读过的所有论文/文章,以及我自己使用的:
int grid_cell = x/cell_size + y/cell_size*width;

在AS3中,预测每个x和y的索引以及将结果存储在2个向量中是否更有效,例如 xMap:Vector。< int>包含x / cell_size和yMap:Vector。< int> y / cell_size * width 然后使用以下方法检索它:
int grid_cell = xMap[x] + yMap[y]; // grid being the array of buckets

简而言之:正在从矢量中检索一个项目,而不是像AS3中的 y / cell_size * width 这样的计算。 我自己的基准测试结果波动很大,我决定这是一个性能关键的功能。

1 个答案:

答案 0 :(得分:0)

除非Vector真的非常庞大,否则查找值会比计算它们更快。