Q:

Is emulation and/or virtualization faster when the host and guest systems are more similar?

Is emulation and/ or virtualization performance faster when the guest and host OS are similar? If yes, how big, relatively speaking, is the difference? And whether the answer is yes or no, why is it so?
For example:
Same architecture
Will a x86 Windows host emulate and/or virtualize an x86 Android guest faster than it will an ARM Android guest?
Similar OS
In the following two examples, please ignore the fact that Debian is arguably more resource efficient than Windows, and simply focus on relative emulation/virtualization performance.
Will a Windows 10 host emulate/virtualize a Windows 7 guest faster than it will a Debian guest? (All are x86.)
Remotely similar OS
Will an OS X host emulate/virtualize a Debian guest faster than it will a Windows guest? (All are x86.) (Since OS X and Debian are both UNIX or UNIX-like.)
I would appreciate if any answers used many layman terms and analogies to explain in a way that people who are not computer scientists could understand it.

A:

Yes, virtualization on the same architecture will be a lot faster, if the architecture has built-in support for virtualization (as modern x86 processors do).  With hardware support for virtualization, most code will run at full speed.
If you want to "virtualize" onto a different architecture, then under the hood the VM will probably end up doing emulation.  Emulation is much slower.
To understand why, I suggest you do some more background reading about how virtualization and emulation work.  You could start with Wikipedia: https://en.wikipedia.org/wiki/Virtual_machine and https://en.wikipedia.org/wiki/Hardware-assisted_virtualization and https://en.wikipedia.org/wiki/Hardware_virtualization and https://en.wikipedia.org/wiki/Emulator.  If you'd like more details, you could check out an appropriate textbook (e.g., a good operating systems textbook).

The operating system most likely won't matter -- at least, there's no fundamental reason why it needs to make a difference.  (It might make a difference for engineering reasons rather than scientific reasons, e.g., due to a 32-bit vs 64-bit OS, or due to lack of support for features used by the VM software.)  The only way to know for sure is to do some experiments: measure performance on workloads you care about.

