用Javascript变量处理大数据:糟糕的做法

Processing a big data in Javascript variables: bad practice?

本文关键字:数据 Javascript 变量 处理      更新时间:2023-09-26

我需要一个数组,该数组应不时重新排列。

阵列的预期大小将是,假设每行有数千行3-4列。其中一列将是一个整数,它是一个排序键。每次用户执行操作时都会执行排序(比如说10秒内执行一次)。

早些时候,我会用MySQL(它有一堆优化良好的排序方法)在服务器端执行此操作。然而,我决定考虑在客户端(在浏览器中)执行此操作的可能性。

这对我的服务器来说将是一个很好的资源经济性,但我对这种数据操作没有任何经验,我不知道它是否会因为巨大的CPU或内存使用而挂起用户的浏览器。

我可以在我的浏览器中测试它,但如果它对我有效,就不能保证它在所有浏览器中对所有用户都能很好地工作。

所以我想说,我的问题是:在用户的浏览器中操作大数据是一种好的做法吗

我建议您在所选的执行平台上测量对Array进行排序操作所需的时间。然后你将确定你是否可以排序一次10秒。问你是否需要测量的方法,我会把这个答案作为编辑发布。

至于你的结构,我认为你可以从服务器上用Ajax推送原始数组,并让用户在他的浏览器中对其进行排序

EDIT:一个10000000个伪随机加倍的完全填充和平均值计算的时间测量示例

var maxLength = 10000000;
var array = [];
var somme = 0;
var moyenne = 0;
var start = Date.now();
for (var i = 0; i < maxLength; i++)
array.push(1023*i/23);
for (var i = 0; i < maxLength; i++)
   somme += array[i];
moyenne = somme/array.length;
var stop = Date.now();
var lasting = stop - start;
console.log(moyenne);
console.log("executing time = " + lasting + " ms");