threading and performance
The problem I ran into several years ago, running x86 and x86-64 binaries on my ARM with QEMU (Acer Chromebook 13) was that ARM has weaker memory consistency guarantees than x86/x86-64; so, running a single-threaded application was 100% fine. Once you got a second thread involved, all hell would break lose, without explicit cache flush instructions ARM in no way guarantees a consistent view of memory between two CPUs, and QEMU's dynamic translation of x86/x86-64 to ARM instructions does not insert these instructions (it's a work in progress, but has been for like 5 years -- put cache flush instructions everywhere and execution would be correct but slow as hell, but putting them just where needed is a trick thus this whole situation.)
As for usefulness -- I threw Ubuntu onto the Chromebook, this had a Tegra K1 (same as in the Nintendo Switch) -- a quad-core 32-bit ARM, and NVidia GPU pretty equivalent to a NVidia GTX 650, altogether using low enough power for a 20 hour battery life. I had full Ubuntu desktop, even flash (some kludge to use the Android flash plugin) and Java, and the NVidia driver supported OpenGL and CUDA. For regular use, it compared worst case to being equivalent to a Core 2 Duo, for typical use it's pretty close to my Core i5 750 desktop (actually bout CPU and GPU wise, it has a GTX 650 in it), for video encoding NEON reallly helps and the quad-core ARM trounced my I5, to the point that I'm looking into reviving the chromebook for this use. Unfortunately, Acer seemed to be quite good at engineering to spec or however you want to put it, after like 1.5 years of flawless service... the battery packed up, power connector got flakey, case started cracking, touchpad started acting up, and SDCard with Ubuntu on it died (can't blame that on them, I supplied the card) all within like 2 weeks of each other.
(Yes, I did find you could use qemu to run x86-64 bins on the 32-bit ARM -- it's cross-compiling anyway, so had no complaint running a 64-bit app on a 32-bit system. I used this for a print driver, and since there was no ARM Android Studio back then, the bulk of Android Studio runs in Java... thankfully since the qemu performance was not blazing by any means... but it runs a few binaries when it buiilds a Java app, so those ran under QEMU.)