\sisetup{ output-decimal-marker={,}, group-separator={}, per-mode=symbol }
\graphicspath{{../code/analysis/output/}}
\section{\large\bfseries}{\thesection}{1em}{} \subsection{\normalsize\bfseries}{\thesubsection}{1em}{}
pdftitle={Energy Efficiency of JavaScript Runtime Environments in Serverless Computing}, pdfauthor={Kamil Warpechowski, Bogdan Ksiezopolski}, pdfkeywords={JavaScript, Node.js, Deno, Bun, energy, serverless, RAPL, JIT}, colorlinks=true, linkcolor=black, citecolor=black, urlcolor=blue ]{hyperref}
\nodejs{Node.js\xspace} \rapl{Intel RAPL\xspace} \jit{JIT\xspace} \faas{FaaS\xspace}
\title{\textbf{Energy Efficiency of JavaScript Runtime Environments\ in Serverless Computing: Node.js vs Deno vs Bun}\[0.5em] \largeWorking Paper}
\author{ Kamil Warpechowski \quad Bogdan Ksi{e.z}opolski\[0.3em] \small Kozminski University, Warsaw, Poland\ \small NASK National Research Institute, Warsaw, Poland\ \small {kamil.warpechowski, bogdan.ksiezopolski}@kozminski.edu.pl }
\maketitle
Streszczenie JavaScript runtimes — Node.js, Deno, and Bun — are the most widely deployed serverless (FaaS) execution environments, yet their energy consumption differences have never been empirically measured. This paper presents the first systematic energy analysis of these three runtimes under serverless workloads. We conducted five controlled experiments on two independent bare-metal servers (P1: Intel Core i7-6700/Skylake; P2: Intel Xeon E-2176G/Coffee Lake) using Intel RAPL sysfs measurements, collecting primary measurements with 50 repetitions per configuration. Results show that Bun consumes less energy than Node.js for I/O-bound workloads and less for CPU-bound; the only category where Node.js leads is server-side rendering ( vs Bun). Rankings are 100% stable (6/6 workloads) across both microarchitectures. Deno achieves savings on memory-bound operations. The JIT amortisation breakeven is invocations for V8 and for JavaScriptCore, with direct implications for keep-alive policies in FaaS platforms. The idle power ratio is empirically identical across all runtimes, validating the LACE-RL model default. A TOPSIS multi-criteria model () exhibits divergence from a latency-only ranking.
Keywords: JavaScript; runtime environments; Node.js; Deno; Bun; energy consumption; serverless; Intel RAPL; JIT compilation; cloud energy efficiency
\appendix
Streszczenie (Polish Abstract)
toc{section}{Streszczenie}
polish
Środowiska uruchomieniowe JavaScript — Node.js, Deno iBun — są najszerzej stosowanymi
platformami serverless (FaaS), jednak ich wzajemne różnice energetyczne nie były
dotychczas mierzone empirycznie. Niniejsza praca przedstawia pierwszą systematyczną
analizę energetyczną tych trzech runtimeów wkontekście workloadów serverless.
Przeprowadziliśmy sześć kontrolowanych eksperymentów nadwóch niezależnych serwerach
bare-metal (P1: Intel Core i7-6700/Skylake; P2: Intel Xeon E-2176G/Coffee Lake)
zpomiarem via Intel RAPL sysfs, gromadząc pomiarów przy 50powtórzeniach
per konfigurację. Bun zużywa o mniej energii od Node.js przy workloadach
I/O-bound io mniej przy CPU-bound; jedyną kategorią, wktórej Node.js prowadzi,
jest SSR ( vs Bun). Rankingi są 100% stabilne (6/6 workloadów) między
mikroarchitekturami Skylake iCoffee Lake. Deno osiąga oszczędność przy operacjach
pamięciocentrycznych. Próg amortyzacji JIT wynosi dla V8 i~
dla JavaScriptCore. Praca dostarcza standaryzowanego protokołu pomiarowego, walidacji
cross-platform oraz otwartego zestawu benchmarków.
english