PowerShellで処理時間を計測する
目次
PowerShellで処理時間の計測
PowerShellでは、Measure-Command
コマンドレットを使用することで、処理時間を計測する事ができます。
Measure-Command {
# 時間を計測したい処理を記載
}
Measure-Commandの使用例
以下、Start-Sleep 3
(3秒間スリープ)の処理時間を計測するサンプルです。
Measure-Command {
Start-Sleep 3
}
PS > Sample.ps1
Days : 0
Hours : 0
Minutes : 0
Seconds : 3
Milliseconds : 9
Ticks : 30098108
TotalDays : 3.48357731481481E-05
TotalHours : 0.000836058555555556
TotalMinutes : 0.0501635133333333
TotalSeconds : 3.0098108
TotalMilliseconds : 3009.8108
Measure-Command
の出力はTimeSpan
構造体で、プロパティ値の内容は以下のとおりです。
値 | 内容 |
---|---|
Days |
時間間隔の日要素 |
Hours |
時間間隔の時間要素 |
Minutes |
時間間隔の分要素 |
Seconds |
時間間隔の秒要素 |
Milliseconds |
時間間隔のミリ秒要素 |
Ticks |
時間間隔を100ナノ秒単位で表した値 |
TotalDays |
時間間隔を日単位で表した値 |
TotalHours |
時間間隔を時間単位で表した値 |
TotalMinutes |
時間間隔を分単位で表した値 |
TotalSeconds |
時間間隔を秒単位で表した値 |
TotalMilliseconds |
時間間隔をミリ秒単位で表した値 |
処理時間を秒単位で取得する場合は、Measure-Command
の出力を変数に代入してTotalSeconds
を取得します。
$timeSpan = Measure-Command {
Start-Sleep 3
}
Write-Host "処理時間:$($timeSpan.TotalSeconds)秒"
PS > Sample2.ps1
処理時間:3.0098108秒