Does native code execution outweigh the loss of JIT optimisation?
But for a lot of smaller applications, or applications where you need to do a lot of warm-up of the JIT/JVM to avoid issus on deploy, and CLI tools it will definitely be a net-positive.
However, because AOT compilation isn't delaying the execution of the program, it is allowed to take much more time to optimize the output.
For example, Android P will upload PGO data into the store, which is then distributed across all devices, and fed into the on-device AOT compiler.