A l'aide de la virtualisation de CPU basée sur un logiciel, le code d'application client s'exécute directement sur le processeur pendant que le code privilège 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 programmes clients, dont le composant de code privilège est petit, s'exécutent à une vitesse très proche de la vitesse native. Les programmes 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é.