当我运行这个循环时管理系统2的 Bash shell
function test() {
bcdedit | grep hypervisorlaunchtype
printf "Press ENTER to begin..." 1>&2
read
# warm-up
for ((i=0; i<"$1"; i++)); do $(:); done
# actual iterations
local tstart="$(date "+%s%3N")"
iterations=0
local i
for ((i=2; i<"$1"; i++)); do $(:); done
local tend="$(date "+%s%3N")" # 2 extra spawns here
printf "%s ms/spawn" $((("$tend" - "$tstart") / "$i")) 1>&2
read
}
test 300
我到处走走23 毫秒/次如果hypervisorlaunchtype
是off
,但周围4 毫秒/次如果是auto
。
以下是比较两者的 GIF使用相等的迭代次数:Hyper-V离开对阵Hyper-V汽车(
请注意,CPU 时间统计信息不是由于损坏而保持在零——它们保持在零是因为它们实际上太小了。如果你让程序运行足够长的时间,它们将要增加。)
什么原因导致了这种差异?