3 ms·
... and AoT-compiled at installation time! We didn't get this in mainstream software until Android Runtime started AoT-compiling Dalvik bytecode. As I've ment
by KMag 3y ago
... and AoT-compiled at installation time! We didn't get this in mainstream software until Android Runtime started AoT-compiling Dalvik bytecode. As I've mentioned elsewhere, Android Runtime shows that AoT compilation doesn't prevent you from dynamically re-optimizing your binaries based on profiling feedback.
- pjmlp 3y agoWe kind of did in Windows/.NET with NGEN, and Windows Phone 8.x and 10, before Android started doing it. Naturally NGEN has the caveat of only being good enough for faster startup, and requiring strong binaries (aka signed dlls), which meant not everyone adopted it. Windows 8.x adopted Bartok from Singularity, where applications would be precompiled on the store, and linked on device at instalation time. Windows 10 moved full AOT compilation into the store when downloading into specific devices. Note that full AOT on Android is only on versions 5 and 6, starting with version 7 onwards is a mix of interpretation, JIT and AOT, which is nonetheless quite cool.
- mardifoufs 3y agoWhy did android go from full AOT in 5.0 back to a mix of the two? I remember when AOT was "hyped" (not really, but talked about) for Lollipop, but I never heard about why they went for a mix instead?
- pjmlp 3y agoImagine LLVM compile times for every single Play Store update, additionally there were some restrictions in reflection usage. Also there are several optimizations that are only possible after having PGO data, and that was lost on AOT at installation time.