This has a few of reasons:<p>1) all abstraction necessarily adds a performance penalty.<p>2) Hypervisors or VMs have core affinity, but, often, multiple VMs and Hypervisors are pinned to the same core. Since one cpu cannot expose time to two different vm requests at precisely the same time, there is always some variance.<p>3) Process isolation is pretty good, but total performance isolation is not quite the same.<p>There are a TON of papers written about VM and hypervisor time management. It&#x27;s all fascinating and hard.