簡體   English   中英

如何測量大型陣列的加載時間?

[英]how do I measure the load time of a large array?

我正在寫一個javascript小部件中有一個相當大的數組,我想知道它是否在瀏覽器資源方面更有效率,只將其作為一個數組或將其分解為幾個較小的數組? 任何人都可以推薦一種測試差異的方法嗎?

可以使用firefox或chrome在您嘗試比較的不同方法之前和之后執行console.log(new Date.toString())。 我不認為打破常規會減少時間。

你總是可以使用console.time('timerName')console.timeEnd('timerName')設置一個計時器,找出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

僅拆分數組不會提高處理速度。

我建議使用Web Workers。 他們會將任務卸載到一個單獨的線程,如果將任務拆分成塊,可以加快速度。 但這完全取決於可用的核心數量。

如果您正在處理非常龐大的數據集,它還會阻止UI掛起。 從UX的角度來看非常有用。

我之前使用過Paralell.js,我喜歡它。 它為不支持Web Workers的瀏覽器提供了后備。

http://adambom.github.io/parallel.js/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM