در سیستم عامل اندروید، از زمان ارائه ی نسخه ی 4.4 به بعد، گوگل در حال تعویض ماشین مجازی dalvik با ART هست. یعنی در نسخه ی 5 یعنی Lolilop، ماشین مجازی پیش فرض، ART خواهد بود.
ماشین مجازی Dalvik، برای کامپایل برنامه ها، از شیوه ی JIT یعنی کامپایل در لحظه استفاده می کنه، اما ماشین مجازی جدید یعنی ART، از شیوه ی AOT یعنی کامپایل پیش از اجرای برنامه استفاده می کنه. روش اخیر یعنی AOT، بر طبق نتایج بنچ مارک های گرفته شده، روش مناسب تریه.
تصور کنیم یک برنامه ی اندرویدی را بخواهیم به کمک ماشین مجازی Dalvik، اجرا کنیم؛ پس از نصب، در هر بار که برنامه ی مورد نظرمونو بخوایم اجرا کنیم، Dalvik اون برنامه رو، به روش JIT کامپایل می کنه و برنامه اجرا میشه. این موضوع، یعنی کامپایل برنامه در هر بار اجرا، ، استفاده ی بی رویه ای از سخت افزار می کنه و البته، عملکرد باتری رو، دچار ضعف می کنه.
حالا ماشین مجازی جدید یعنی ART رو در نظر می گیریم؛ این ماشین مجازی در روش AOT، تنها یکبار برنامه ی ما رو در همون لحظه ی نصب، کامپایل می کنه و دیگه بعد از اون، هر بار که بخوایم برنامه مونو اجرا کنیم، نیازی به کامپایل دوباره ی اون نیست. در هر دفعه که برنامه ی ما می خواد اجرا بشه، چون از قبل کامپایل شده، خیلی سریع اجرا میشه.
خب حالا با این اوصاف میشه گفت:
-
ART از Dalvik بهتره چون، این جوری برنامه هامون سریع تر اجرا میشن.
-
ART از Dalvik بهتره چون، منابع سخت افزاری دستگاه کمتر استفاده میشن و عملکرد بهتری از دستگاهمون داریم.
-
ART از Dalvik بهتره، چون عملکرد باتری دستگاهمون، نسبت به Dalvik بهتر میشه.
-
اما Dalvik از ART بهتره چون، مدت زمان بوت شدن دستگاه مون کوتاهتر میشه.
-
Dalvik از ART بهتره چون، مصرف حافظه ی نگهدارنده مون کمتر میشه.
برای مقایسه ی عملکرد این دو نوع ماشین مجازی، مشاهدی این ویدیو، خالی از لطف نیست.