Почему время работы на виртуальной машине распределяется странным образом? - PullRequest
1 голос
/ 17 января 2020

Я хотел проверить время выполнения одной и той же программы на виртуальной машине win10, поэтому я запустил эту программу 100 раз:

    for(int i=1;i<=1e8;i++)
    {

    }

И я нарисовал картину распространения (я тестировал для многих раз и результат аналогичен): Распределение времени выполнения на виртуальной машине

X - время выполнения, Y - плотность.

Странно, потому что есть несколько пиков на этой картинке, и X-координаты пиков кажутся арифметической c прогрессией.

Но на гостевой машине это нормальное распределение, которое соответствует нашей интуиции.

Полагаю, это вызвано каким-то периодическим процессом c, который занимает процессор, поскольку я мог выделить только 1 ЦП для виртуальной машины. Не могли бы вы помочь мне объяснить это?

...