[英]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的瀏覽器提供了后備。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.