Quando eu executo esse loop no MSYS2 'shell' do Bash
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
Giro 23 ms / spawn se hypervisorlaunchtype
é off
, mas em torno de 4 ms / spawn se for auto
.
Aqui estão GIFs comparando os dois com iterações iguais: Hyper-V off vs. Hyper-V auto .
(Note que as estatísticas de tempo da CPU estão não ficando em zero por estarem quebradas - elas ficam em zero porque são realmente muito pequenas. Se você deixar o programa rodando por tempo suficiente, elas irá aumentar .
O que causa essa discrepância?
Tags hyper-v hypervisor windows-8.1 msys