Hyppää sisältöön
    • Suomeksi
    • På svenska
    • In English
  • Suomi
  • Svenska
  • English
  • Kirjaudu
Hakuohjeet
JavaScript is disabled for your browser. Some features of this site may not work without it.
Näytä viite 
  •   Ammattikorkeakoulut
  • Kaakkois-Suomen ammattikorkeakoulu
  • Opinnäytetyöt
  • Näytä viite
  •   Ammattikorkeakoulut
  • Kaakkois-Suomen ammattikorkeakoulu
  • Opinnäytetyöt
  • Näytä viite

Evaluating the performance of WebAssembly compared to JavaScript in CPU-intensive browser applications

Gulin, Andrei (2025)

 
Avaa tiedosto
Gulin_Andrei.pdf (679.7Kt)
Lataukset: 


Gulin, Andrei
2025
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Näytä kaikki kuvailutiedot
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2025121737531
Tiivistelmä
Web applications’ complexity grows, and frequently developed tasks for desktop applications migrate into the web. JavaScript as the main language of the web has evolved significantly with advances in just-in-time compilation and engine optimizations, but its limitations do not allow to efficiently process computationally heavy workloads. WebAssembly emerged as a technology that would target JavaScript’s limitations by providing portability, near-native performance while maintaining browser security.
The objective of this study was to compare and evaluate the performance of JavaScript and WebAssembly in CPU demanding image processing tasks by implementing a web application framework for testing.
Three image processing algorithms were selected and implemented in the web framework: image inversion, edge detection using Sobel operators with Gaussian blur, and K-Means color quantization using K-Means++ method for initialization. Each algorithm had different computational complexity and was implemented identically in pure JavaScript and Rust compiled to WebAssembly to ensure adequate comparison.
The testing stage utilized four datasets including various images with different dimensions and formats. All execution tests were made in Google Chrome on Linux using the V8 JavaScript engine. Performance measurements captured execution time, cold start overhead, performance consistency, scaling behavior across image sizes and the file formats impact.
The results demonstrated that WebAssembly consistently outperformed JavaScript across all tested scenarios, except the cold start overhead metric. Additionally, the evaluation revealed unexpected non-linear scaling patterns where WebAssembly’s speedup factor peaked at medium image sizes for certain algorithms. The evaluation was supported by visual feedback developed in the web application framework. The web application framework is open-sourced and publicly available.
Kokoelmat
  • Opinnäytetyöt
Ammattikorkeakoulujen opinnäytetyöt ja julkaisut
Yhteydenotto | Tietoa käyttöoikeuksista | Tietosuojailmoitus | Saavutettavuusseloste
 

Selaa kokoelmaa

NimekkeetTekijätJulkaisuajatKoulutusalatAsiasanatUusimmatKokoelmat

Henkilökunnalle

Ammattikorkeakoulujen opinnäytetyöt ja julkaisut
Yhteydenotto | Tietoa käyttöoikeuksista | Tietosuojailmoitus | Saavutettavuusseloste