Por que a ativação do Hyper-V acelera o lançamento do processo do MSYS2?

3

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?

    
por Mehrdad 25.08.2017 / 02:01

0 respostas