Evaluación de rendimiento de webassembly en aplicaciones web desarrolladas en Go caso: fractales
Fecha
2023Autor
Ochoa Huayhua, Nohely Lisseth
Rozas Davila, Alfredo
Metadatos
Mostrar el registro completo del ítemResumen
La presente investigación evaluó el rendimiento de WebAssembly en aplicaciones web desarrolladas con el lenguaje de programación Go. Para este propósito, se utilizó la generación y visualización de fractales como caso de estudio debido a su alta demanda computacional. El lenguaje Go, que incorpora de manera experimental compilaciones a WebAssembly, se probó en este estudio, basándonos en que este podría mejorar significativamente el rendimiento, al igual que otros lenguajes que también compilan a WebAssembly. Para realizar una comparación justa y efectiva, se desarrollaron iterativamente prototipos de aplicaciones en JavaScript, el lenguaje dominante en el desarrollo web, y en Go-WebAssembly, optimizando el rendimiento en cada iteraci´on mediante t´ecnicas de optimizaci´on espec´ıficas para cada lenguaje. Se encontró que las aplicaciones JavaScript logran una mejora sustancial en su rendimiento a través de la implementación de Web Workers, que facilitan la realización de tareas de manera concurrente. Sin embargo, las aplicaciones desarrolladas en Go y compiladas a WebAssembly presentaron desafíos en términos de rendimiento, debido a la utilización del paquete syscall/js y en gran medida a la falta de soporte para multithreading, una característica crítica para la optimización de aplicaciones de alta demanda computacional. Para proporcionar una visión más completa y equitativa del rendimiento de las aplicaciones, se desarrolló un benchmark utilizando el método Toma de Decisiones Multicriterio (MCDM). Aunque las implementaciones de Go-WebAssembly no superaron a las de JavaScript con WebWorkers en términos de rendimiento, estos hallazgos son fundamentales para el avance en el campo del desarrollo web.
Colecciones
- Tesis [92]