A l'aide de la virtualisation de CPU basée sur un logiciel, le code d'application invité s'exécute directement sur le processeur, tandis que le code privilège invité est traduit et le code traduit s'exécute sur le processeur.
Le code traduit est légèrement plus important et s'exécute généralement plus lentement que la version native. Par conséquent, les applications invitées, dont le composant de code privilège est petit, s'exécutent à une vitesse très proche de la vitesse native. Les applications possédant un composant de code privilège significatif, tels que les appels système, interruptions ou mises à niveau de tables de page peuvent s'exécuter plus lentement dans l'environnement virtualisé.