Posted July 28, 2019
Here is a strange question I have. Which of the following would perform better on an x86 system:
1. A program written in C, compiled to ARM machine code, then run on the x86 system via qemu.
2. A program written in Python, run using cpython (the standard Python interpreter) natively (no emulation) on the same CPU.
(The CPU architectures here are, of course, just examples; any two CPU architectures could be chosen for the comparison, and I wouldn't expect the result to be different.)
Another question I could ask, of course, is how would the VMs of other programming languages that use them (like Java and C#) compare here?
1. A program written in C, compiled to ARM machine code, then run on the x86 system via qemu.
2. A program written in Python, run using cpython (the standard Python interpreter) natively (no emulation) on the same CPU.
(The CPU architectures here are, of course, just examples; any two CPU architectures could be chosen for the comparison, and I wouldn't expect the result to be different.)
Another question I could ask, of course, is how would the VMs of other programming languages that use them (like Java and C#) compare here?