Since the software runs on a virtualized equivalent of the original computer, it does not require recompilation or porting, thus saving time and development resources.
However, the processing overhead of binary translation and call mapping imposes a performance penalty, when compared to natively-compiled software.
By creating an abstraction layer capable of running software compiled for a different computer system, cross-platform virtualization characterizes the Popek and Goldberg virtualization requirements outlined by Gerald J. Popek and Robert P. Goldberg in their 1974 article "Formal Requirements for Virtualizable Third Generation Architectures".
[1] Cross-platform virtualization is distinct from simple emulation and binary translation - which involve the direct translation of one instruction set to another - since the inclusion of operating system call mapping provides a more complete virtualized environment.
Modern variants of cross-platform virtualisation may employ hardware acceleration techniques[2] to offset some of the cost incurred in the guest-to-host system translation.