I ran this build once again now making sure nothing heavy was running in the background. It took 11 minutes and 5 seconds. The fans did audibly spin up and all CPU cores were 100% loaded (asitop output: https://i.imgur.com/OY36RVB.png). Here's the breakdown of how long each build step took: https://i.imgur.com/TcdfA4L.png
Do keep in mind though that the NDK (which takes like 90% of the build time) is still built for x86. So the 4x difference is mighty impressive when you consider that you're comparing an old x86 CPU running its native code to ARM emulating x86, even if doing so via translation.
Hm, no, android studio itself runs natively, and the JDK I'm using is native too, from adoptium.net. Most android build tools (d8, r8, etc) are written in java so they run natively. Building the java part in any project is really fast. Like, freakishly fast. 3 seconds to compile a thousand classes, WAT?!
Isn't C++ compilation mostly single-core-bound still? Of course it does compile as many files in parallel as there are cores, but it's not possible to compile a single file in multiple threads.
You haven't seen most Android projects that have a massive legacy module that Gradle spends 5 minutes compiling and doing nothing else. Seeing those 7 lines say IDLE is a daily experience
There is a lot more in single core performance then just clock speed, in fact ipc is even more important then clock speed when it comes to single core computing
Not surprising as Moore's law had stopped applying to CPU. Assuming each year CPU gets 20% improvement, from 2012 to 2021 the latest cpu is 5x more powerful than the old one. Considering 30% performance loss for converting x86 instructions to ARM, 4x is a reasonable number.