logo móvil
Contáctanos

Complementando JavaScript en aplicaciones web y de Node.js de alto rendimiento con Rust y WebAssembly

Autores: Kyriakou, Kyriakos-Ioannis D.; Tselikas, Nikolaos D.

Idioma: Inglés

Editor: MDPI

Año: 2022

Descargar PDF

Acceso abierto

Artículo científico
2022

Complementando JavaScript en aplicaciones web y de Node.js de alto rendimiento con Rust y WebAssembly


Categoría

Ingeniería y Tecnología

Subcategoría

Ingeniería Eléctrica y Electrónica

Palabras clave

Novela
Lenguaje de programación de sistemas
Rust
JavaScript
Node.js
Aplicaciones basadas en web

Licencia

CC BY-SA – Atribución – Compartir Igual

Consultas: 28

Citaciones: Sin citaciones


Descripción
Examinamos si el nuevo lenguaje de programación de sistemas llamado Rust se puede utilizar junto con JavaScript en Node.js y en el desarrollo de aplicaciones basadas en la web. El documento describe cómo JavaScript puede ser utilizado como un lenguaje de script de alto nivel en combinación con Rust en lugar de C++ para lograr eficiencia y estar libre de condiciones de carrera, así como problemas de software relacionados con la memoria. Además, realizamos pruebas de estrés para evaluar el rendimiento de la arquitectura propuesta en varios escenarios. Las implementaciones basadas en Rust pudieron superar a JS en un 1.15 por más de 115 veces en el rango de mediciones y superar el modelo de concurrencia de Node.js en 14.5 veces o más sin necesidad de ajustes finos. En los navegadores web, la implementación de WebAssembly de un solo hilo superó la respectiva implementación pura de JS en aproximadamente dos a cuatro veces. WebAssembly ejecutado dentro de Chromium en comparación con las implementaciones equivalentes de Node.js pudo ofrecer el 93.5% del rendimiento de la implementación de un solo hilo y el 67.86% del rendimiento de la implementación de múltiples hilos, lo que se traduce en un rendimiento de 1.87 a más de 24 veces mayor que la implementación pura de JS equivalente optimizada manualmente. Nuestros hallazgos proporcionan evidencia sustancial de que Rust es capaz de proporcionar las características de bajo nivel necesarias para operaciones no bloqueantes y acceso al hardware, manteniendo similitudes de alto nivel con JavaScript, lo que ayuda a la productividad.

Otros recursos que podrían interesarte

Temas Virtualpro