Javascript 如何测量大型阵列的加载时间?

Javascript 如何测量大型阵列的加载时间?,javascript,arrays,performance,browser,Javascript,Arrays,Performance,Browser,我正在编写的javascript小部件中有一个相当大的数组,我想知道在浏览器资源方面,将其保留为一个数组或将其拆分为几个较小的数组是否更有效?有谁能推荐一种测试差异的方法吗?可以使用firefox或chrome在尝试比较不同方法之前和之后执行console.log(new Date.toString())。我不认为打破常规会减少时间。仅仅分割阵列不会提高处理速度 我建议使用网络工作者。他们将把任务卸载到一个单独的线程中,如果你将任务分成多个块,这可以加快速度。不过,这完全取决于可用的内核数量 如

我正在编写的javascript小部件中有一个相当大的数组,我想知道在浏览器资源方面,将其保留为一个数组或将其拆分为几个较小的数组是否更有效?有谁能推荐一种测试差异的方法吗?

可以使用firefox或chrome在尝试比较不同方法之前和之后执行console.log(new Date.toString())。我不认为打破常规会减少时间。

仅仅分割阵列不会提高处理速度

我建议使用网络工作者。他们将把任务卸载到一个单独的线程中,如果你将任务分成多个块,这可以加快速度。不过,这完全取决于可用的内核数量

如果您正在处理非常庞大的数据集,它还可以防止UI挂起。从用户体验的角度来看非常有用

我以前使用过Paralell.js,我喜欢它。它为不支持Web Worker的浏览器提供了一个后备方案

您可以始终使用和设置计时器,找出javascript代码两点之间的运行时间,然后比较结果:

console.time('BigArray');
var arr1 = [];
for(var i=0; i<200000; i++){
    arr1.push('test');
}
console.timeEnd('BigArray');


console.time('SeveralArrays');
for(var i=0; i<200000; i++){
    var arr2 = ['test'];
}
console.timeEnd('SeveralArrays');

使用一个大数组与一堆小数组仍然相当于加载的数据量。:)您可以在加载数组之前和之后记录时间戳,并查看差异
BigArray: 123ms
SeveralArrays: 456ms