Categories: PowerShell

PowerShell 測量程式執行時間教學

在 PowerShell 中使用 Measure-Command 測量程式或指令稿執行所花費的時間。

測量程式執行時間

在 PowerShell 中若要測量程式的執行時間,可以使用 Measure-Command 來測量,將要測量的程式或指令內容包在大括號中。例如若要測量 Get-EventLog 這個指令的執行時間,就可以這樣寫:

# 測量程式執行時間
Measure-Command { Get-EventLog "windows powershell" }
測量程式執行時間

這個 Get-EventLog 指令的執行大約花了 0.2 秒的時間。

Measure-Command 也可以用來測量自己寫的 PowerShell 指令稿:

# 測量程式執行時間
Measure-Command { .my_script.ps1 }

同時觀看程式輸出

Measure-Command 在測量程式的執行時間時,預設不會顯示該程式本身的輸出訊息,如果想要同時查看程式的輸出,可以將該程式的輸出導向至 Out-Default

# 顯示程式輸出
Measure-Command { Get-EventLog "windows powershell" | Out-Default }

這樣就可以同時看到程式輸出以及測量的結果。

同時觀看程式輸出

Stopwatch 測量時間

除了使用 Measure-Command 之外,亦可使用 .NET 的 Stopwatch 來測量時間,只要將要執行的工作放在 StartNewStop 之間,即可量測出程式的執行時間:

# 開始計時
$sw = [Diagnostics.Stopwatch]::StartNew()

# 執行程式
.my_script.ps1

# 停止計時
$sw.Stop()

# 輸出測量時間
$sw.Elapsed

這種測量方式適合用在 PowerShell 指令稿中,也就是所有的指令都是連續執行的狀況,這樣測出來的時間才會比較準確(不適合用手動輸入指令的方式)。

Share
Published by
Office Guide

Recent Posts

Python 使用 PyAutoGUI 自動操作滑鼠與鍵盤

本篇介紹如何在 Python ...

9 個月 ago

Ubuntu Linux 以 WireGuard 架設 VPN 伺服器教學與範例

本篇介紹如何在 Ubuntu ...

9 個月 ago

Linux 網路設定 ip 指令用法教學與範例

本篇介紹如何在 Linux 系...

9 個月 ago

Windows 使用 TPM 虛擬智慧卡保護 SSH 金鑰教學與範例

本篇介紹如何在 Windows...

10 個月 ago

Linux 以 Shamir’s Secret Sharing 分割保存金鑰教學與範例

介紹如何在 Linux 中使用...

11 個月 ago

Linux 以 Cryptsetup、LUKS 加密 USB 隨身碟教學與範例

介紹如何在 Linux 系統中...

11 個月 ago