Skip to main content
Login | Suomeksi | På svenska | In English

Browsing by Author "Tuominen, Timo"

Sort by: Order: Results:

  • Tuominen, Timo (2016)
    Android on mobiilikäyttöjärjestelmä ja sovelluskehitysalusta, jonka sovellukset ohjelmoidaan tavallisesti Java-kielellä ja suoritetaan Androidin omassa, Java-virtuaalikoneen kaltaisessa suoritusympäristössä. Tässä tutkielmassa käsitellään Androidin Dalvik-virtuaalikoneen toteutusta Javan natiivirajapinnasta (JNI), jonka avulla sovelluksissa voi yhdistellä Javalla sekä C- tai C++-kielellä toteutettuja komponentteja erityisesti suorituskykyvaatimusten saavuttamiseksi. Tutkielman tavoite on JNI-rajapintatoteutusta mittaamalla selvittää, voidaanko rajapinnan suorituskykykäyttäytymisestä laatia käyttökelpoinen malli, josta olisi hyötyä kun rajapintaa halutaan kutsua sovelluksesta optimaalisella tavalla. Tutkielma perustuu kahdenlaisiin suorituskykymittauksiin: rajapintaa harjoittavien operaatioiden vasteaikojen mittaamiseen sekä samojen operaatioiden kutsuprofiilien laatimiseen ajonaikaisista kutsupinoista näytteenottotekniikalla. Mittaustuloksista johdetaan yksinkertainen lineaarinen malli, jossa on nähtävillä ne rajapinnan käytön osatekijät, joista rajapinnan suorituskykyrasitteet johtuvat. Mallin ja mittaustulosten perusteella voidaan nähdä, että virtuaalikoneen automaattisen muistinhallinnan asettamat vaatimukset aiheuttavat suurimmat suorituskykyrasitteet natiivirajapinnan käytössä. Ne johtuvat siitä, että muistinhallinnan on pidettävä kirjaa natiivikomponentille välitetyistä viitteistä tietorakenteissaan ja tarvittaessa estää muistialueiden siirtäminen muistiosoitteesta toiseen. Lopputuloksena todetaan, että mittauksia tulkitsemalla saatiin aikaan hyödyllinen suorituskykymalli, jota voidaan hyödyntää sovelluskehityksen varhaisessa vaiheessa, kun natiivirajapinnan käyttötapoja suunnitellaan.