Hyppää sisältöön
    • Suomeksi
    • In English
Trepo
  • Suomeksi
  • In English
  • Kirjaudu
Näytä viite 
  •   Etusivu
  • Trepo
  • Kandidaatintutkielmat
  • Näytä viite
  •   Etusivu
  • Trepo
  • Kandidaatintutkielmat
  • Näytä viite
JavaScript is disabled for your browser. Some features of this site may not work without it.

WebAssemblyn ja JavaScriptin suorituskykyvertailu

Hakamaa, Aapo (2021)

 
Avaa tiedosto
HakamaaAapo.pdf (855.2Kt)
Lataukset: 



Hakamaa, Aapo
2021

Tieto- ja sähkötekniikan kandidaattiohjelma - Bachelor's Programme in Computing and Electrical Engineering
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2021-06-30
Näytä kaikki kuvailutiedot
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202106226023
Tiivistelmä
Verkkopalveluiden kasvavan käytön myötä verkkosivujen toiminnalle asetetaan yhä enemmän vaatimuksia. Selaimella suoritettava verkkosivujen logiikka monimutkaistuu jatkuvasti responsiivisten käyttöliittymien yleistyessä. Vaikka tietokoneiden laskentateho on tasaisessa kasvussa, on tullut tarve kehittää myös täysin uusia teknologioita sujuvoittamaan verkkoselailua.

Jo usean vuosikymmenen ajan verkkosivujen logiikka on perustunut JavaScript-ohjelmointikieleen. Selaimet ovat optimoineet hyvin pitkälle tämän kielen suorittamista. JavaScriptissä on kuitenkin tehty perustavanlaatuisia ratkaisuja, kuten dynaaminen tyypitys ja ihmisen luettavan koodin tulkkaus, jotka asettavat rajoitteita suoritusnopeudelle.

WebAssembly on uusi, kehitteillä oleva teknologia JavaScriptin rinnalle. Sen tavoitteena on kiertää JavaScriptin rajoitteita ja näin tuoda lisätehoa koodin suorittamiseen verkkosivuilla. WebAssemblyn vahvuuksia ovat nopeasti tulkattava tavukoodi ja staattinen tyypitys.

Tämän tutkielman tarkoitus on vertailla WebAssemblyn ja JavaScriptin suorituskykyjä. Vertailu toteutetaan kahdella erilaisella käyttötapauksella. Kummassakin käyttötapauksessa käytetään lisäksi useita eri arvoja parametreille, jotta saadaan tarkempi kuva nopeuteen vaikuttavista tekijöistä. Molemmilla kielillä saman ohjelman suoritukseen kuluva aika mitataan millisekunnin tarkkuudella. Jokaisella parametrijoukolla aika mitataan useaan kertaan ja lopputulokseen otetaan näiden aikojen mediaani.

Tutkielman tuloksista havaitaan, että WebAssembly on suurimmassa osassa tapauksista huomattavasti nopeampi JavaScriptiin verrattuna. Huonoimmillaan WebAssemblyn suorituskyky on samaa luokkaa ja parhaimmillaan jopa yli sata kertaa nopeampi kuin JavaScript. Tämän työn menetelmät kuitenkin antavat vain yksipuolisen kuvan WebAssemblyn ja JavaScriptin eroavaisuuksista. WebAssemblyn käyttöönottoa harkittaessa tulee ottaa huomioon muitakin seikkoja, kuten selainten tuki, kehityskustannukset ja osaaminen.
Kokoelmat
  • Kandidaatintutkielmat [10220]
Kalevantie 5
PL 617
33014 Tampereen yliopisto
oa[@]tuni.fi | Tietosuoja | Saavutettavuusseloste
 

 

Selaa kokoelmaa

TekijätNimekkeetTiedekunta (2019 -)Tiedekunta (- 2018)Tutkinto-ohjelmat ja opintosuunnatAvainsanatJulkaisuajatKokoelmat

Omat tiedot

Kirjaudu sisäänRekisteröidy
Kalevantie 5
PL 617
33014 Tampereen yliopisto
oa[@]tuni.fi | Tietosuoja | Saavutettavuusseloste