Objavljeno: 25.2.2014 | Avtor: Uroš Mesojedec | Monitor Marec 2014

Za robote prihodnosti

Google je v sveži različici Androida (4.4, KitKat) predstavil tudi preizkusno podporo novemu izvajalnemu sistemu ART (Android RunTime), ki naj bi v prihodnosti postal poglavitno izvajalno okolje na tem najbolj priljubljenem operacijskem sistemu za pametne telefone. Zakaj? Telefon ob izbiri ART postane hitrejši.

Kaj pravzaprav je izvajalno okolje? Programi, pisani za Android, so večinoma razviti neodvisno od strojne opreme, na kateri se koda izvaja. Pred uporabo se mora tako program še dokončno prevesti iz vmesne kode (bytecode) v strojno kodo (machine code) naprave. Tu  je na voljo več taktik. Android je v različici 2.2 (FroYo), predvsem zaradi omejenosti pomnilnika in zmogljivosti procesorja, izbral način pravočasnega prevajanja (just-in-time compilation). Programi so se začeli izvajati po določenem času, ki je bil potreben za prevod prvega delčka programa, med delovanjem pa so se pravočasno (od tod ime) prevajali še drugi potrebni deli. Del rezultatov pravočasnega prevajanja se je shranjeval v medpomnilnik (dalvik cache), da je bil ob vnovični rabi hitreje nared. Nov sistem ART uporablja običajno tehniko ali,  bolj učeno, tehniko predčasnega prevajanja (ahead-of-time compilation). Program se iz vmesne v strojno kodo prevede enkrat, ob namestitvi. To je tudi poglavitni razlog za zamudno vzpostavljanje sistema ART, ko ga prvič vklopimo. Kasneje vsako izvajanje programa pomeni neposredno rabo strojne kode na naši napravi. Brez potrebe po pravočasnem prevajanju naj bi se programi pognali hitreje in bi med delovanjem potrebovali manj sistemskih sredstev (npr. časa CPU) in s tem energije, kar je za mobilne naprave ključnega pomena.

Na začetku velja poudariti, da je izvajalni sistem ART pristal v svežem Androidu predvsem zaradi razvijalcev in še ni namenjen splošni rabi. Po drugi strani je res, da prinaša nekaj drobnih prednosti, zaradi katerih pa lahko kak program odpove. V bistvu gre za nekakšen napol javni preizkus novosti, ki naj bi postal stalnica z naslednjo večjo prenovo Androida. Tako izvajalni sistem ART zaenkrat najdemo le v zadnji različici Androida za pametne telefone, na tablicah ga bomo iskali zaman. Z nekaj truda ga sicer lahko vklopi vsak, ki je na svojem pametnem telefonu že deležen Androida 4.4. Najprej je treba vklopiti možnosti za razvijalce, to dosežemo v Nastavitvah (Settings), kjer izberemo sklop O telefonu (About phone) in se 10× dotaknemo možnosti Delovna različica (Build number). Na srečo se že po nekaj dotikih na zaslonu prikaže odštevalnik, da nam preostanek nenavadnega postopka hitreje mine. Glavna izbira Nastavitev zdaj zajema nov sklop, Možnosti za razvijalce (Developer options), kjer bomo našli preklopnik Izbira izvajalnika (Select runtime), ki skriva možnost Uporabi ART (Use ART). Vklop te možnosti pomeni zamenjavo izvajalnega okolja in vnovični zakon, ob katerem se bodo znova, nekoliko drugače, namestili vsi naši programi. Preklop izvajalnega okolja zato ni hipen postopek, temveč lahko traja tudi deset minut ali več, odvisno od števila in zapletenosti programov, ki so nameščeni na naši napravi.

Če se razglasimo za razvojnika, se lahko poigramo še z nekaj drugimi naprednimi možnostmi.

Če se razglasimo za razvojnika, se lahko poigramo še z nekaj drugimi naprednimi možnostmi.

V praksi se izkaže, da je bil ART zaenkrat razvit predvsem tako, da ne polomi izvajanja večine priljubljenih programov. Iz našega izbora skoraj 300 aplikacij sprva nista delovala le Titanium Backup in igra Dream of Pixels. Brez prvega si ne predstavljamo rabe naprave, zato smo počakalo, da ga je razvijalec prilagodil. To se je na srečo zgodilo v nekaj tednih po objavi KitKata. Dream of Pixels žal v času tega pisanja še ne deluje, vendar je ART kljub temu ostal vklopljen. Na tem mestu omenimo, da številne igre v glavnem razvijajo kar v strojni kodi (ob pomoči orodij NDK, native dev kit), zato izbira izvajalnega okolja ne vpliva kaj dosti nanje.

Prednosti ART se danes pokažejo predvsem v nekoliko daljšem času trajanja baterije, saj procesorju programov ni treba vedno sproti tudi prevajati. Natančnejši uporabniki bodo opazili tudi hitrejše zaganjanje programov, tu in tam tudi hitrejše izvajanje. Glavna pomanjkljivost je večja poraba pomnilnika, a to na sodobnih napravah ni tako boleče. Nekaj več meritev so opravili na spletišču Android Police (www.monitor.si/androart), kjer so potrdili zmerne pohitritve, a te trenutno še niso nič revolucionarnega.

Vsekakor bo ART v prihodnosti bistveno bolj optimiziran in bo gotovo prevzel primat Dalviku. Dotlej pa lahko mirno shajate tudi brez njega. Trenutna razpoložljivost ARTa je namenjena predvsem razvijalcem, da čim prej prilagodijo svoje programe prihodnjim sposobnostim mobilnih naprav z Androidom.

Naroči se na redna tedenska ali mesečna obvestila o novih prispevkih na naši spletni strani!

Komentirajo lahko le prijavljeni uporabniki

 
  • Polja označena z * je potrebno obvezno izpolniti
  • Pošlji