Правильная ссылка на статью:
Карпович В.Д., Государев И.Б..
Исследование производительности WebAssembly в среде исполнения Node.js
// Программные системы и вычислительные методы.
2025. № 2.
С. 12-34.
DOI: 10.7256/2454-0714.2025.2.74049 EDN: QOVQLO URL: https://nbpublish.com/library_read_article.php?id=74049
Читать статью
Результаты процедуры рецензирования статьи:
Результаты процедуры повторного рецензирования статьи:
|
EDN: QOVQLO
|
Аннотация:
Современные среды исполнения, такие как браузеры, Node.js и пр. предоставляют разработчикам инструменты, позволяющие выходить за рамки традиционного JavaScript. Объектом данного исследования выступает современный подход к созданию веб-приложений, в которых возможно выполнение и совместное использование компонентов, написанных на разных языках программирования, в результате применения WebAssembly. Предметом исследования является тестирование и анализ результатов тестов, направленных на измерение производительности JavaScript и WebAssembly-модулей в среде выполнения Node.js, с акцентом на сравнение эффективности выполнения вычислительных задач, взаимодействия с памятью, обработки данных и межъязыкового взаимодействия. Автор подробно рассматривает такие аспекты темы, как интеграция WebAssembly в приложения, оценка его преимуществ при решении ресурсоёмких задач, таких как обработка изображений, объективность, репрезентативность и воспроизводимость тестирования В работе используется прикладной, экспериментальный подход. Было произведено сравнение скорости выполнения операций при использовании чистого JavaScript и WebAssembly-модулей. Для оценки эффективности были использованы данные о времени ответа на запрос, о потреблении ресурсов системы приложением. Научная новизна данной работы заключается в разработке и теоретическом обосновании подходов к тестированию веб-приложений с использованием технологии WebAssembly. В отличие от большинства существующих исследований, сосредоточенных на производительности и безопасности WebAssembly в браузерной среде, в данной работе внимание акцентировано на автоматизированном тестировании WebAssembly-модулей вне браузера, что до настоящего времени оставалось слабо проработанным направлением. Предложен методологический подход к организации тестирования WebAssembly-модулей в среде выполнения Node.js, включая принципы структурирования тестов, интеграции с JavaScript-компонентами и анализ результатов выполнения. Такой подход позволяет учитывать специфику серверного окружения, где WebAssembly всё активнее применяется — в частности, при разработке высоконагруженных вычислительных модулей, кросс-языковой логики и безопасного изолированного исполнения. Научная новизна также заключается в выведении критериев, позволяющих оценивать пригодность тех или иных компонентов приложения для переноса в WebAssembly с точки зрения тестируемости, что даёт разработчикам дополнительный инструмент принятия архитектурных решений. Предложенные идеи подтверждены экспериментальной частью, включающей примеры реализации тестирования сценариев взаимодействия между WebAssembly и JavaScript.
Ключевые слова:
WebAssembly, JavaScript, оптимизация производительности, вычислительно интенсивные задачи, обработка изображений, интеграция технологий, серверные вычисления, экспериментальный анализ, алгоритмическая оптимизация, компиляция и интерпретация
Abstract:
Modern runtime environments such as browsers, Node.js, and others provide developers with tools that go beyond traditional JavaScript. This study focuses on a modern approach to building web applications where components written in different programming languages can be executed and shared using WebAssembly. The subject of the research is the testing and analysis of performance benchmarks comparing JavaScript and WebAssembly modules in the Node.js runtime. The focus is on evaluating performance in computational tasks, memory interaction, data processing, and cross-language communication. The author thoroughly explores topics such as WebAssembly integration in applications, its advantages for resource-intensive tasks like image processing, and the objectivity, representativeness, and reproducibility of the tests. The work follows an applied, experimental approach. It includes performance comparisons between pure JavaScript and WebAssembly modules. Metrics like response time and system resource consumption were used to assess efficiency. The scientific novelty of this work lies in the development and theoretical grounding of testing approaches for web applications using WebAssembly. Unlike most existing studies focused on WebAssembly's performance and security in browser environments, this work emphasizes automated testing of WebAssembly modules outside the browser — a relatively unexplored area until now. A methodological approach is proposed for testing WebAssembly modules in Node.js, including principles for test structuring, integration with JavaScript components, and execution analysis. This approach takes into account the specifics of the server environment, where WebAssembly is increasingly used — particularly for high-load computational modules, cross-language logic, and secure isolated execution. The novelty also lies in defining criteria to evaluate whether certain application components are suitable for migration to WebAssembly in terms of testability, providing developers with a tool for making architectural decisions. The proposed ideas are backed by experimental results, including test case implementations for WebAssembly and JavaScript interaction scenarios.
Keywords:
compilation and interpretation, Algorithmic optimization, experimental analysis, server-side processing, technology integration, images processing, heavy processing tasks, performance optimization, JavaScript, WebAssembly