Ben kasten defalarca bu arayarak, Chrome (V48) JS dizileri kullanarak hafızayı harcarsak:, neden JS Heap üzerinde TypedArrays değil mi?
var rootReference;
function wasteBunchOfMemoryWithJsArrays()
{
rootReference = rootReference || [];
for (var i = 0; i < 1000; i++)
{
var blah = [];
for (var j = 0; j < 10000; j++)
{
blah.push(j);
}
rootReference.push(blah);
}
}
Sonra kabaca belirtilen limiti maçları, (Görev Yöneticisi göre) yaklaşık 700MB kullanım de tarayıcı sekme kilitlendiğinde performance.memory.jsHeapSizeLimit
. Ben, Windows 32 bit işlem bellek sınırı olması ne tahmin vurmak yukarı kadar ve devam edebilir Sonra
var typedRootReference;
function wasteBunchOfMemoryWithInt32Arrays()
{
typedRootReference = typedRootReference || [];
for (var i = 0; i < 100; i++) {
var blah = new Int32Array(100000);
for (var j = 0; j < 100000; j++) {
blah[j] = j;
}
typedRootReference.push(blah);
}
}
: Ben defalarca bu arayarak, böyle Int32Array gibi bir TypedArray kullanarak bellek atık Ancak
2.9GB civarında!
sadece bunu TypedArrays JS yığın sınırlamalar almak dava var mı? Niye ya? TypedArrays ile ilgili kaygılanmam gereken başka bir şey var mı?
arada, Firefox'ta aynı davranışı tespit etmedi. Sana önerildiği gibi, bu sadece Google Chrome için gitti uygulamasıdır, sanırım. Ben "Chrome V8 sekmesini başına 1GB sınırı" hakkında okumaya devam ama bu çoğaltmak mümkün değildi ve bu performance.memory.jsHeapSizeLimit maç için görünmüyor. –