gpt4 book ai didi

Javascript - 将数组部分复制到另一个数组的最快方法

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:38:35 25 4
gpt4 key购买 nike

我需要FAST 将一个数组的一部分复制到另一个数组中,替换它的旧值。

  • 不需要范围检查。
  • 要复制的项目数:16384
  • 数组只包含整数

基准代码: http://codebase.es/test/copytest.htm

这是我的方法:

  var i = 0x4000>>5; // loops count
var j = 0x4000; // write start index
var k = 0x8000; // read start index
while (i--) { // loop unrolling
dst[j++]=src[k++]; dst[j++]=src[k++];
dst[j++]=src[k++]; dst[j++]=src[k++];
dst[j++]=src[k++]; dst[j++]=src[k++];
dst[j++]=src[k++]; dst[j++]=src[k++];
//8
dst[j++]=src[k++]; dst[j++]=src[k++];
dst[j++]=src[k++]; dst[j++]=src[k++];
dst[j++]=src[k++]; dst[j++]=src[k++];
dst[j++]=src[k++]; dst[j++]=src[k++];
//16
dst[j++]=src[k++]; dst[j++]=src[k++];
dst[j++]=src[k++]; dst[j++]=src[k++];
dst[j++]=src[k++]; dst[j++]=src[k++];
dst[j++]=src[k++]; dst[j++]=src[k++];
//24
dst[j++]=src[k++]; dst[j++]=src[k++];
dst[j++]=src[k++]; dst[j++]=src[k++];
dst[j++]=src[k++]; dst[j++]=src[k++];
dst[j++]=src[k++]; dst[j++]=src[k++];
//32
}

这能做得更快吗?

最佳答案

我不确定你的方法是否比这更快:

var i = 0x4000;     // loops count
var j = 0x4000; // write start index
var k = 0x8000; // read start index
while (i--) { // loop unrolling
dst[j++]=src[k++];
}

关于Javascript - 将数组部分复制到另一个数组的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1448943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com