要在 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))