ART* Profiling Support

  1. ART* and Intel® System Studio Support

ART* (Android Runtime) is a new process Virtual Machine in Android* which delivers better performance in running applications on Android* devices. As Google takes their journey to ART* evolution, Intel® VTune Amplifier for Systems (within Intel® System Studio 2015) starts supporting ART* profiling. ART has been newly introduced experimentally in the KitKat release which can be turned on in Settings > Developer options > Select runtime instead of Dalvik.Since ART* is not fully optimized and unstable, there is a possibility that choosing ART* can cause Android* implementations and third-party applications to break.

  1. Dalvik vs ART

For an Android device to be able to run an application, the code has to be compiled to machine code. Dalvik, which is based on JIT (Just In Time) compilation, compiles the part of the code every time the machine runs an application. While running the application, Davilk continues to compile and to cache as you progress through the application.

On the other hand, ART* is based on AOT (Ahead Of Time) compilation, compiles the whole code of the application during installation. This reduces the lag we experience when we open an application on an Android* device. Removing the need to compile parts of the code while running an application results in faster execution and lower usage of CPU which leads to less battery drain. A simple comparison between Dalvik and ART is the following.

 

 

Dalvik

ART

Compilation Type

JIT ( Dynamic )

AOT ( Static )

Installation Time

Faster

Slower

App Launch Time

Slower

Faster

Storage Footprint

Smaller

Larger

Memory Footprint

Larger ( JIT )

Smaller

 

 

 

For more complete information about compiler optimizations, see our Optimization Notice.