【发布时间】:2016-07-20 01:55:57
【问题描述】:
我需要检查几个脚本运行需要多长时间,并且想确保我知道如何使用计时器,所以我编写了下面的简短测试来检查我的逻辑:
for($i = 0; $i -lt 11; $i++) {
$sw = [Diagnostics.Stopwatch]::StartNew()
Start-Sleep -Milliseconds 2000
$sw.Stop()
$elapsed = $sw.Elapsed.Milliseconds
Write-Host $elapsed
}
我只是启动一个计时器,调用Start-Sleep 2000 毫秒,然后输出(我认为会是)经过的时间(以毫秒为单位)。
这是输出:
1
6
11
11
12
9
11
12
12
11
8
我不是 100% 确定会从输出中得到什么,但我的假设是每行将超过 2000,因为这是睡眠的长度。
有人知道这里发生了什么吗?我还用其他面额(分钟、小时、秒)对此进行了测试,结果同样令人困惑。
每次运行此脚本时,结果都不同,而且我似乎无法找出任何模式。
【问题讨论】:
标签: .net powershell timer stopwatch