# gnomon

用來測量程式執行時間的好工具

本來是用 time 指令 (opens new window) 來顯示程式的執行時間

後來發現使用 gnomon 可以在 console 的時候顯示每行 console 所花費的時間

首先先安裝 gnomon 到 global

npm i -g gnomon

# 使用

像是以下的 code,三不五時會輸出一些東西到 console

// loop.js

for (let i = 0; i < 10; i++) {
  setTimeout(() => { console.log(i)}, i * 1000)
}

接著執行 code 然後 pipe 到 gnomon

node loop.js | gnomon

結果會在每行 console 前面顯示執行的時間

0.8314s   0
1.0004s   1
0.9984s   2
1.0013s   3
1.0000s   4
0.9952s   5
1.0014s   6
1.0017s   7
0.9975s   8
0.0069s   9
0.0002s   
          
  Total   8.8358s

如果要顯示累積時間可以傳參數進去 -t elapsed-total

node loop.js | gnomon -t elapsed-total

每行 console 就會變成顯示累計的時間

0.8510s   0
1.8504s   1
2.8479s   2
3.8492s   3
4.8502s   4
5.8494s   5
6.8484s   6
7.8458s   7
8.8507s   8
8.8595s   9
8.8600s   
          
  Total   8.8600s

當然系統指令也可以 pipe 到 gnomon

# 參考資料

paypal/gnomon: Utility to annotate console logging statements with timestamps and find slow processes (opens new window)

Last Updated: 2021-11-26 16:02:26
贊助商連結
    贊助商連結
    (adsbygoogle = window.adsbygoogle || []).push({});