This benchmark compares 32 JavaScript engines and runtimes across different platforms, evaluating their performance using various test suites including Richards, DeltaBlue, Crypto, RayTrace, EarleyBoyer, RegExp, Splay, and NavierStokes.
Benchmark Date: July 7, 2025, 1:54:50 AM
Top Performing Engines (Overall Score)
Tier 1: Elite Performance (40,000+ Score)
š„ Bun - Score: 47,990 | Size: 97.2M | Efficiency: 493/MB ā Incredibly fast JavaScript runtime, bundler, test runner, and package manager ā all in one ā Platforms: ā Unix, ā macOS ARM, ā macOS AMD, ā Windows | Links: https://github.com/oven-sh/bun, https://github.com/oven-sh/setup-bun
š„ JavaScriptCore - Score: 47,659 | Size: 37.4M | Efficiency: 1,272/MB ā WebKit's built-in JavaScript engine implementing ECMAScript ECMA-262 ā Platforms: ā Unix, ā macOS ARM, ā macOS AMD, ā Windows | Links: https://github.com/WebKit/webkit/tree/main/Source/JavaScriptCore, https://github.com/ahaoboy/jsc-build
š„ V8 - Score: 45,318 | Size: 53.3M | Efficiency: 850/MB ā Google's open source high-performance JavaScript and WebAssembly engine ā Platforms: ā Unix, ā macOS ARM, ā macOS AMD, ā Windows | Links: https://v8.dev, https://github.com/ahaoboy/v8-build
Deno - Score: 41,077 | Size: 103.1M | Efficiency: 398/MB ā Modern runtime for JavaScript and TypeScript ā Platforms: ā Unix, ā macOS ARM, ā macOS AMD, ā Windows | Links: https://github.com/denoland/deno
Node.js - Score: 40,199 | Size: 121.6M | Efficiency: 330/MB ā Traditional Node.js JavaScript runtime ā Platforms: ā Unix, ā macOS ARM, ā macOS AMD, ā Windows | Links: https://github.com/nodejs/node
Tier 2: High Performance (20,000-39,999 Score)
Dune - Score: 39,376 | Size: 67.1M | Efficiency: 586/MB ā Hobby runtime for JavaScript and TypeScript ā Platforms: ā Unix, ā macOS ARM, ā macOS AMD, ā Windows | Links: https://github.com/aalykiot/dune
ChakraCore - Score: 20,101 | Size: 19.4M | Efficiency: 1,035/MB ā Microsoft's open source JavaScript engine with C API ā Platforms: ā Unix, ā macOS ARM, ā macOS AMD, ā Windows | Links: https://github.com/chakra-core/ChakraCore, https://github.com/ahaoboy/ChakraCore-build
Tier 3: Mid Performance (10,000-19,999 Score)
SpiderMonkey - Score: 18,955 | Size: 40M | Efficiency: 473/MB ā Mozilla's JavaScript and WebAssembly Engine, used in Firefox https://spidermonkey.dev, https://github.com/ahaoboy/spidermonkey-build
MozJS - Score: 17,111 | Size: 35.2M | Efficiency: 485/MB ā Rust bindings to SpiderMonkey ā Platforms: ā Unix, ā macOS ARM, ā macOS AMD, ā Windows | Links: https://github.com/servo/mozjs, https://github.com/ahaoboy/mozjs-cli
GraalJS - Score: 13,349 | Size: 199.7M | Efficiency: 66/MB ā ECMAScript 2023 compliant with polyglot language interoperability | Links: https://github.com/oracle/graaljs
Tier 4: Experimental / Low Performance (Below 10,000 Score)
JJS - Score: 5,940 | Size: 3.4M | Efficiency: 1,747/MB ā Small JavaScript interpreter written by Fabrice Bellard ā Platforms: ā Unix, ā macOS ARM, ā macOS AMD, ā Windows | Links: https://github.com/openjdk/nashorn
Hermes - Score: 4,239 | Size: 35.2M | Efficiency: 120/MB ā JavaScript engine optimized for React Native ā Platforms: ā Unix, ā macOS ARM, ā macOS AMD, ā Windows ā | Links: https://github.com/facebook/hermes
QuickJS - Score: 3,350 | Size: 1.6M | Efficiency: 2,094/MB ā Small and embeddable JavaScript engine ā Platforms: ā Unix, ā macOS ARM, ā macOS AMD, ā Windows ā | Links: https://github.com/bellard/quickjs, https://github.com/ahaoboy/quickjs-build
Other JavaScript Engines
Primjs ā 772ā | 857K downloads | 922/M ā Unix, ā macArm, ā macAmd, ā Windows | JavaScript Engine Optimized for Lynx | Links: https://github.com/lynx-family/primjs, https://github.com/ahaoboy/primjs-build
Rquickjs ā 713ā | 1.3M downloads | 529/M ā Unix, ā macArm, ā macAmd, ā Windows | High level bindings to the quickjs javascript engine | Links: https://github.com/DelSkayn/rquickjs, https://github.com/ahaoboy/rquickjs-cli
Quickjs-ng ā 651ā | 2M downloads | 330/M ā Unix, ā macArm, ā macAmd, ā Windows QuickJS, the Next Generation: a mighty JavaScript engine | Links: https://github.com/quickjs-ng/quickjs
Ladybird ā 568ā | 45.8M downloads | 12/M ā Unix, ā macArm, ā macAmd, ā Windows Truly independent web browser | Links: https://github.com/LadybirdBrowser/ladybird, https://github.com/ahaoboy/ladybird-js-build
Duktape ā 506ā | 2.1M downloads | 238/M ā Unix, ā macArm, ā macAmd, ā Windows Embeddable Javascript engine with a focus on portability and compact footprint | Links: https://github.com/svaarala/duktape, https://github.com/ahaoboy/duktape-build
Mujs-one ā 397ā | 685K downloads | 593/M ā Unix, ā macArm, ā macAmd, ā Windows mujs by c2rust | Links: https://github.com/ahaoboy/mujs-one
Mujs ā 358ā | 414.5K downloads | 884/M ā Unix, ā macArm, ā macAmd, ā Windows An embeddable Javascript interpreter in C | Links: https://github.com/ccxvii/mujs, https://github.com/ahaoboy/mujs-build
Goja ā 278ā | 13.2M downloads | 21/M ā Unix, ā macArm, ā macAmd, ā Windows ECMAScript/JavaScript engine in pure Go | Links: https://github.com/dop251/goja, https://github.com/ahaoboy/goja-build
Xst ā 270ā | 2.1M downloads | 130/M ā Unix, ā macArm, ā macAmd, ā Windows JavaScript on microcontrollers for open IoT | Links: https://github.com/Moddable-OpenSource/moddable
Jint ā 188ā | 69M downloads | 2/M ā Unix, ā macArm, ā macAmd, ā Windows Javascript Interpreter for .NET | Links: https://github.com/sebastienros/jint, https://github.com/ahaoboy/jint-cli
Boa ā 107ā | 27M downloads | 3/M ā Unix, ā macArm, ā macAmd, ā Windows Experimental Javascript engine written in Rust | Links: https://github.com/boa-dev/boa
Kiesel ā 106ā | 12.6M downloads | 8/M ā Unix, ā macArm, ā macAmd, ā Windows JavaScript engine written in Zig | Links: https://codeberg.org/kiesel-js/kiesel, https://github.com/ahaoboy/kiesel-build
JerryScript ā 454.2K downloads ā Unix, ā macArm, ā macAmd, ā Windows Ultra-lightweight JavaScript engine for the Internet of Things | Links: https://github.com/jerryscript-project/jerryscript, https://github.com/ahaoboy/jerryscript-build
Nova ā No stats |ā Unix, ā macArm, ā macAmd, ā Windows JavaScript and WebAssembly engine written in Rust | Links: https://github.com/trynova/nova
Engine262 ā 7.3K downloads ā Unix, ā macArm, ā macAmd, ā Windows Implementation of ECMA-262 in JavaScript | Links: https://github.com/engine262/engine262
Rhino ā 1.1G downloads ā Unix, ā macArm, ā macAmd, ā Windows JavaScript in Java (open-source by Mozilla) | Links: https://github.com/mozilla/rhino
Njs ā 8.4M downloads ā Unix, ā macArm, ā macAmd, ā Windows Subset of JavaScript for nginx | Links: https://github.com/nginx/njs, https://github.com/ahaoboy/njs-build
Platform-Specific Performance Analysis
Ubuntu Champions
š Bun 47,990 points (97.2M)
š„ JSCore 47,659 points (37.4M)
š„ V8 45,318 points (53.3M)
4th Deno 41,077 points (103.1M)
5th Node.js 40,199 points (121.6M)
macOS ARM64 Champions
š JSCore 66,032 points (94.2M)
š„ Bun 64,688 points (56.4M)
š„ Deno 55,881 points (83.6M)
4th Dune 55,772 points (57.4M)
5th Node.js 55,578 points (110.7M)
macOS AMD64 Champions
š Bun 41,304 points (61.9M)
š„ V8 40,755 points (861K)
š„ JSCore 38,628 points (89.6M)
4th Deno 36,062 points (94.1M)
5th Node.js 33,904 points (113.5M)
Windows Champions
š V8 44,521 points (52.6M)
š„ Bun 43,691 points (131.9M)
š„ JSCore 43,208 points (122.8M)
4th Node.js 39,446 points (115.8M)
5th Dune 38,960 points (78.7M)
Efficiency Champions (Score per MB)
Most Bang for Buck
V8 (macOS AMD64) ā 48,470 points per MB (861K total) JavaScriptCore ā 1,272 points per MB (37.4M total) Bun (macOS ARM64) ā 1,145 points per MB (56.4M total) ChakraCore ā 1,035 points per MB (19.4M total) PrimJS ā 922 points per MB (857K total)
Lightweight Performers
MuJS ā 884 points per MB (414.5K total) Dune ā 586 points per MB (67.1M total) MuJS-One ā 593 points per MB (685K total) RQuickJS ā 529 points per MB (1.3M total) Bun ā 493 points per MB (97.2M total)
Individual Test Champions
Richards Benchmark Leaders
š Bun (macOS ARM64) 51,947 points
š„ JavaScriptCore (macOS ARM64) 51,389 points
š„ Deno (macOS ARM64) 48,533 points
DeltaBlue Benchmark Leaders
š Dune (macOS ARM64) 108,473 points
š„ Deno (macOS ARM64) 104,863 points
š„ Node.js (macOS ARM64) 104,361 points
Crypto Benchmark Leaders
š JavaScriptCore (macOS ARM64) 72,778 points
š„ Bun (macOS ARM64) 71,140 points
š„ Node.js (macOS ARM64) 59,764 points
RayTrace Benchmark Leaders
š JavaScriptCore (macOS ARM64) 185,589 points
š„ Bun (macOS ARM64) 175,895 points
š„ JavaScriptCore (Ubuntu) 117,066 points
Platform Compatibility Matrix
Universal Champions (All Platforms)
Bun, JavaScriptCore, V8, Deno, Node.js, Dune, SpiderMonkey, GraalJS, Hermes, LLRT, QuickJS, Duktape, MuJS, Goja, Jint, Kiesel
Limited Platform Support
MozJS ā Missing Windows support ChakraCore ā Missing macOS ARM support PrimJS ā Missing Windows support MuJS-One ā Unix only Boa ā Missing macOS ARM support
Key Insights & Recommendations
Performance Trends
š” ARM64 Advantage: Many engines show 20-40% better performance on Apple Silicon š” Size Efficiency: Smaller isn't always better - JavaScriptCore excels in both size and performance š” Platform Optimization: V8 shows exceptional efficiency on certain platforms
Best Use Cases
Production Applications ā Bun, JavaScriptCore, V8 Development/Testing ā Deno, Node.js Embedded Systems ā QuickJS, Duktape, MuJS Experimental Projects ā Dune, LLRT, Hermes
Winner by Category
š Overall Champion: Bun (Best all-around performance) š Efficiency King: JavaScriptCore (Best score-to-size ratio) š Speed Demon: V8 (Platform-specific optimization) š Lightweight Champion: MuJS (Smallest footprint with decent performance)
Execution Time Analysis
Fastest Execution (20 seconds)
Bun, JavaScriptCore, V8, Deno, Node.js, Dune, SpiderMonkey, MozJS
Moderate Execution (21-50 seconds)
ChakraCore, GraalJS, Hermes, QuickJS variants
Slower Execution (50+ seconds)
Lightweight engines like MuJS, Duktape, Goja - acceptable trade-off for size
This benchmark provides a comprehensive overview of JavaScript engine performance across different platforms and use cases. Choose the engine that best fits your specific requirements for performance, size, and platform compatibility.