ДОСЛІДЖЕННЯ МОЖЛИВОСТЕЙ ВИКОРИСТАННЯ WEBASSEMBLY ДЛЯ РОЗРОБКИ ВИСОКОПРОДУКТИВНОГО КОДУ У ВЕБДОДАТКАХ

Автор(и)

  • O. Soluian
  • L. Lіushenko

DOI:

https://doi.org/10.34185/1562-9945-3-158-2025-19

Ключові слова:

JavaScript, WebAssembly, оптимізація, продуктивність, вебзастосунки.

Анотація

Однією з основних проблем інтерпретованих мов, таких як JavaScript, є їх обмежена швидкодія у порівнянні з компільованими мовами. Інтерпретований код виконується повільніше, що може спричиняти затримки у роботі застосунків, особливо у випадках обробки великих обсягів даних чи виконання складних обчислень. Для подолання цієї проблеми використовуються різноманітні методи оптимізації JavaScript коду. Одним із найбільш перспективних рішень є технологія WebAssembly. WebAssembly дозволяє виконувати код із продуктивністю, наближеною до швидкодії низькорівневих мов, таких як C, C++ або Rust. Серед головних переваг WebAssembly є можливість компіляції коду з різних мов програмування у швидкий і компактний формат, який ви-конується безпосередньо у браузері. Це значно покращує продуктивність вебза-стосунків, забезпечуючи користувачів більш плавним та швидким досвідом взаємодії. Проте потенціал WebAssembly ще не повністю розкритий. Існує необхідність у по-дальшому розвитку та вдосконаленні методів ефективного кодування, що компілюється у WebAssembly, з метою досягнення максимальної продуктивності су-часних вебзастосунків.

Посилання

Rishi Kiran Aiyatham Prabakar. WebAssembly Performance Analysis: A Comparative Study of C++ and Rust Implementations. www.diva-portal.org. Retrieved from https://www.diva-portal.org/smash/get/diva2:1879948/FULLTEXT01.pdf.

Joao De Macedo, Rui Abreu, Rui Pereira, Joao Saraiva. WebAssembly versus JavaScript: Energy and Runtime Performance. repositorio.inesctec.pt. Retrieved from https://repositorio.inesctec.pt/server/api/core/bitstreams/0870fb76-d463-456b-9e34-5b33bb7c0dd1/content.

Weihang Wang. Empowering Web Applications with WebAssembly: Are We There Yet? par.nsf.gov. Retrieved from

https://par.nsf.gov/servlets/purl/10312863https://dl.acm.org/doi/pdf/10.1145/3062341.3062363.

Andreas Haas, Andreas Rossberg, Derek L. Schuff, Ben L. Titzer. Bringing the Web up to Speed with WebAssembly. dl.acm.org. Retrieved from

https://dl.acm.org/doi/pdf/10.1145/3062341.3062363.

Cheerp Documentation Overview. cheerp.io. Retrieved from

https://cheerp.io/docs/overview.

WebAssembly. webassembly.org. Retrieved from https://webassembly.org/

Securing Stack Smashing Protection in WebAssembly Applications. www.researchgate.net. Retrieved from

https://www.researchgate.net/publication/385177717_Securing_Stack_Smashing_Protection_in_WebAssembly_Applications

LLVM Reference Manual. llvm.org. Retrieved from

https://llvm.org/docs/CodeGenerator.html

Jacob Nilsson, Andreas Trattner. Analyzing front-end performance using Webassembly. lup.lub.lu.se. Retrieved from https://lup.lub.lu.se/luur/download?func=downloadFile&recordOId=9094683&fileOId=9094684

AssemblyScript Runtime Variants. www.assemblyscript.org. Retrieved from https://www.assemblyscript.org/runtime.html#variants

PolyBenchC: the polyhedral benchmark suite. web.cs.ucla.edu. Retrieved from http://web.cs.ucla.edu/~pouchet/software/polybench/

Завантаження

Опубліковано

2025-04-23