1

我正在为游戏编写 A* 寻路的实现,并试图找到将值插入整数数组的最快方法。我制作了一个自定义拼接功能,并针对本机进行了测试。

如果数组大小低于大约 3-5000,则自定义函数优于原生函数(在 chrome 上)。结果对我很有用,因为我可以根据数组大小选择最佳函数,但我不明白为什么 native 在较大的数组上更好,而在较小的数组上自定义。你能解释一下为什么吗?

测试在这里: https ://jsperf.com/native-splice-vs-custom

自定义拼接功能:

function splice(ary, index, value) {
    let newValue = value;
    let newIndex = index;
    let nextValue = ary[newIndex + 1];
    while(nextValue !== undefined) {
      ary[newIndex] = newValue;
      newValue = nextValue;
      nextValue = ary[++newIndex];
    }
  }
4

0 回答 0