JavaScript 計算函式執行時間

要在 JavaScript 計算函式的執行時間,可以用現在的 Timestamp 和函式執行後的 Timestamp 相減,即可獲得執行時間,大多數人都會用 new Date().getTime() 來取得時間戳,但如果你的函式執行時間小於 1 毫秒,就會因為 Timestamp 最小單位只到毫秒而無法計算執行時間,因此在這建議使用 Window.Performance API,它可以提供從網頁載入到現在的豪秒數,精確度到千分之一毫秒。

請參考下面的範例程式碼,會執行 say_hi 一百次,並計算這一百次的平均執行時間(毫秒)

function timeit(func) {
  var sum = 0;

  for(var i = 0; i < 100; i++) {
    var start = performance.now();
    func()
    var end = performance.now();
    sum += (end - start)/100;
  }

  return sum;
}

function say_hi() {
  console.log("Hi");
}

console.log(timeit(say_hi))

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

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