gpt4 book ai didi

Javascript 数组 100000 x 100000 - 杀死我的浏览器

转载 作者:行者123 更新时间:2023-11-30 12:40:21 24 4
gpt4 key购买 nike

我正在尝试构建这样的数组( Matrix ):

var arr = [];
var matrix_size = 100000;
var start_time = Math.round(new Date().getTime()) / 1000.0;

for( var i = 0; i < matrix_size ; i++ ) {
var row = [];
for( var j = 0; j < matrix_size; j++ ) {
row.push( 0 );
}
arr.push( row );
if ( counter % 10 == 0 ) {
var stop_time = Math.round(new Date().getTime()) / 1000.0;
var speed_time = stop_time - start_time;
var speed = i / speed_time; // m / s
var remain = matrix_size - i;
var remain_time = remain / speed;
console.log("Ready: " + i + " rows; remain: " + remain + "; speed: " + speed + "; remain_time: " + remain_time + "s.");
}
}

var stop_time = Math.round(new Date().getTime()) / 1000.0;
var speed_time = stop_time - start_time;
console.log( "Time: " + speed_time + " s. ");
  • 矩阵大小 1000 - 0.1700000762939453 秒
  • 矩阵大小 10000 - 8.978000164031982 秒
  • matrix_size 100000 - 卡住了

就绪:1020 行;保留:98980;速度:40.255742648097055;剩余时间:2458.7796296605875s。

真的有这么大吗?在这种情况下,浏览器功能的正确数学是什么?

实际上,我需要 500,000 x 500,000 数组。不只是零,而是真正的浮点值。在这种情况下我需要使用服务器端吗?

最佳答案

500Kx500K 对 Javascript 来说太多了(而且大到足以让合理的计算机窒息),但如果你仍然愿意在客户端处理庞大的数据集,我建议你看看这个: http://square.github.io/crossfilter/

Crossfilter is a JavaScript library for exploring large multivariate datasets in the browser. Crossfilter supports extremely fast (<30ms) interaction with coordinated views, even with datasets containing a million or more records.

这不会解决您的问题,但希望它能为您指明正确的方向。我建议将您的数据集分解成多个部分并分别处理它们。处理小块数据比处理大数据集通常更明智。

关于Javascript 数组 100000 x 100000 - 杀死我的浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24685895/

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