 In most situations with fully AOT compiled programs and libraries, it is possible to drop a useful fraction of a runtime environment, thus saving disk space, memory, battery life, and startup times (no JIT warmup phase), etc.Because of this, it can be useful in embedded or mobile devices.AOT compilers can perform complex and advanced code optimizations, which in most cases of JITing will be considered much too costly.