3 ms·
I may be totally wrong on this but I was under the impression that since Google started publishing x86 builds of Android the "emulator" is now much more like a
by gregschlom 11y ago
I may be totally wrong on this but I was under the impression that since Google started publishing x86 builds of Android the "emulator" is now much more like a simulator (unless you choose to run the ARM version, of course).
The thing that makes the emulator really slow is when it has to emulate ARM instructions on an x86, but if you pick an x86 arch then you're basically just running a VM, which should be comparable in perf to the iOS simulator.
Again, just guessing here, please correct me if I'm wrong.
- umanwizard 11y agoThe iOS simulator isn't an emulator, though. It's running the apps as regular, native process on the OS X host. There's no VM. The perf difference isn't as major as between x86-on-x86 virtualization and arm-on-x86 full blown emulation, but the difference is still there.
- rubber_duck 11y agoIs virtualization cost that bad ? If the GPU drivers are good it should not be over 2-3x - which - when considering you are emulating mobile phone on a at least 2-3x more powerful hardware - should be perfectly acceptable. ARM emulation is probably an order of magnitude slower
- DCKing 11y agoAndroid apps still run quite slow on the x86 Android emulator. I suspect that this is because CPU emulation is only one part of full emulation of an Android system. When running Android apps using the Chrome runtime, apps run blazingly fast, since it just calls directly into the native OS / the Chrome runtime for any native acceleration feature it requires. It also doesn't run in a full-blown virtual machine as the emulator does. As the other reply points out, the iOS emulator also doesn't emulate a full system. It just runs the required iOS APIs directly on OS X, just to give you an idea of a running app and the progress you're making on a feature. Again, for most development scenarios that is really all you need (and you use an actual device for more thorough testing or when you need hardware features).
- whatever_dude 11y ago> I was under the impression that since Google started publishing x86 builds of Android the "emulator" is now much more like a simulator (unless you choose to run the ARM version, of course). They're both still emulators. The difference is that when using x86 images, it now uses fast, hardware-accelerated virtualization under the right conditions (e.g. HAXM[1]) so it doesn't feel like there's a fat middle layer anymore. Virtualization has come a long way in recent years, and the new emulator reflects that. Of course, there's still major hurdles when emulating different architectures, so ARM emulation is still a pain. [1] https://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager https://software.intel.com/en-us/android/articles/intel-hard...