Mit der softwarebasierten CPU-Virtualisierung wird der Gastanwendungscode direkt auf dem Prozessor ausgeführt, während der privilegierte Code des Gasts übersetzt wird und der übersetzte Code auf dem Prozessor ausgeführt wird.

Der übersetzte Code ist geringfügig größer und wird in der Regel langsamer ausgeführt als die native Version. Daher werden Gastanwendungen, die über eine kleine privilegierte Codekomponente verfügen, mit annähernd der Geschwindigkeit der nativen Version ausgeführt. Anwendungen mit einer größeren privilegierten Codekomponente, z. B. Systemaufrufe, Traps oder Seitentabellenaktualisierungen, werden in der virtualisierten Umgebung möglicherweise langsamer ausgeführt.