Vis enkel innførsel

dc.contributor.advisorJehl Leander
dc.contributor.authorEsposito Andrea, Cadacio John Marvin
dc.date.accessioned2021-09-07T16:30:20Z
dc.date.available2021-09-07T16:30:20Z
dc.date.issued2021
dc.identifierno.uis:inspera:78872743:34430288
dc.identifier.urihttps://hdl.handle.net/11250/2774421
dc.description.abstractMed lanseringen av en ny standard har WebAssembly vært en økende trend blant utviklere. Primært har stasjonære og mobile nettlesere full støtte for WebAssembly per i dag. Det gir mange fordeler når den kjøres inne i nettleseren, men hva med utenfor nettleseren? Denne avhandlingen presenterer en WebAssembly+gRPC applikasjonsmal som kan brukes til å øke distribuerte applikasjoners diversitet. I tillegg analyserer vi effektiviteten og brukervennlighet utenfor nettleseren til WebAssembly. Gjennom utviklingen av to Wasm-baserte distribuerte applikasjoner lærte vi om Wasms funksjonalitet, ulemper og spesielt om hvor effektiv Wasm er i slike applikasjoner. Denne prosessen har blitt gjort for flere programmeringsspråk, noe som ga oss bedre forståelse av hvor enkelt det er å implementere Wasm inn i mange miljøer. Ved å utføre en sett benchmark-tester for hver implementasjon viser vi at WebAssembly kjører bemerkelsesverdig bra når den er innebygd i programmeringsspråk som Golang og C#. Dessverre antyder våre funn at Wasm har noen svakheter når det gjelder ytelse og stabilitet, som kan bli løst av de kontinuerlige Wasm-oppdateringene.
dc.description.abstractWith the release of a new standard, WebAssembly has been a growing trend amongst developers. Primarily, desktop and mobile browsers have full support for WebAssembly as of today. Running it inside the browser gives many benefits, but how about outside the browser? This thesis presents a Wasm+gRPC application template that can be utilized to increase distributed applications' diversity. We also carefully analyze WebAssembly's efficiency and ease of use outside of the browser. Through the development of two Wasm-based distributed applications, we learned about Wasm's functionality, drawbacks, and, most notably, about how performant Wasm is in such applications. This process has been done for multiple programming languages, giving us a better understanding of how simple it is to embed Wasm in many environments. Executing a set of benchmarks for each implementation, we show that WebAssembly runs remarkably well when embedded in programming languages such as Go and C#. Unfortunately, our findings suggest that Wasm has some flaws in terms of performance and stability, that due to the continuous Wasm updates, might get ironed out sooner than later.
dc.languageeng
dc.publisheruis
dc.titleWebAssembly for systemprogrammering
dc.typeBachelor thesis


Tilhørende fil(er)

Thumbnail

Denne innførselen finnes i følgende samling(er)

Vis enkel innførsel