JavaScript 速度測試 使用 Performance.Timing 紀錄

JavaScript 想要測試 function、UI、DOM 等等的速度,要怎麼做呢?

JavaScript 速度測試 使用 Performance.Timing 紀錄

JavaScript 於 Chrome 可以使用下述參數:

下述內容參考此篇:Primer on Web Performance (註:下面印出來的各個參數說明,要參考此篇有圖片說明)

JavaScript 寫這隻 Function logPerformance():

  1. function logPerformance() {
  2. var perfEntries = performance.getEntriesByType("mark");
  3. for (var i = 0; i < perfEntries.length; i++) {
  4. console.log("Name: " + perfEntries[i].name +
  5. " Entry Type: " + perfEntries[i].entryType +
  6. " Start Time: " + perfEntries[i].startTime +
  7. " Duration: " + perfEntries[i].duration + "\n");
  8. }
  9. console.log(performance.timing);
  10. }

要測試速度的 functon,要用 performance 包起來,最後再由 logPerformance() 印出到 console.log()

  1. performance.mark("startTask1");
  2. // test function();、code...
  3. performance.mark("endTask1");
  4. logPerformance();

到 chroem console 可看到下述:

ame: startTask1 Entry Type: mark Start Time: 141.39000000000001 Duration: 0
index.php:7 Name: endTask1 Entry Type: mark Start Time: 146.245 Duration: 0
PerformanceTiming
connectEnd : 1489137882464
connectStart : 1489137882451
domComplete : 1489137882628
domContentLoadedEventEnd : 1489137882617
domContentLoadedEventStart : 1489137882614
domInteractive : 1489137882614
domLoading : 1489137882491
domainLookupEnd : 1489137882451
domainLookupStart : 1489137882445
fetchStart : 1489137882439
loadEventEnd : 1489137882682
loadEventStart : 1489137882628
navigationStart : 1489137882438
redirectEnd : 0
redirectStart : 0
requestStart : 1489137882464
responseEnd : 1489137882483
responseStart : 1489137882482
secureConnectionStart : 0
unloadEventEnd : 1489137882483
unloadEventStart : 1489137882483

Save

Save

Save

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料