JavaScript
Elide can execute JavaScript, just like Node.js, Deno, or Bun. Similar to other popular JavaScript runtimes, Elide strives for Node API compatibility.
Language Engine
Elide is an ECMA2023-compliant JavaScript engine. JS is the most mature language offered by Elide; execution is powered by GraalJs, which ships with GraalVM.
Language | JavaScript |
---|---|
Standard | ECMA2024 |
Maturity | |
Engine | |
Tools | Orogene and OXC (see JS Tooling) |
Standards Conformance
Elide conforms to several JavaScript standards:
WinterTC
Elide is a WinterTC-conforming runtime; Elide supports the Minimum Common API and several other WinterTC proposals or standards.
See our WinterTC Conformance page for more information.
Node API
The Node API constitutes the functions and modules provided by Node.js on top of V8; the Node API is quite large and covers everything from assertion testing to zlib compression.
Elide aims for full Node API compatibility where possible and applicable. What does that mean? Well, Elide is written on top of GraalVM rather than V8, so immediately several Node API modules do not apply (for example, the v8
module).
Most Node.js applications and libraries only make use of a small surface area of the Node API. As Bun and Deno have shown, a great deal of software can run out of the box with sufficient (but incomplete) Node API coverage.
Performance
Elide executes JavaScript with comparable performance to V8-based runtimes like Node and Deno, and JSC runtimes like Bun. Although GraalVM is a completely different core engine, it is well suited for CLI and server use, whereas V8 and JSC were architected with browsers in mind.
As a result, Elide can deliver very strong performance in JavaScript, especially for server-side use cases.
Elide is ranked highly on the TechEmpower benchmarks. At the time of this writing Elide holds the 133rd position for plaintext responses. Node & Deno, FastAPI & Django (Python), and many other popular frameworks rank lower than this score.
Tech stack | TechEmpower Rank | Typical RPS (🔼 is better) | Warm hit latency (🔽 is better) | Cold start latency (🔽 is better) |
---|---|---|---|---|
Elide + JavaScript | 133 | ~800,000+ | ~3ms | ~30ms |
Deno | 184 | ~200,000 | ~70ms | ~15ms |
Node.js + Express | 364 | ~550ms | ~10ms | |
FastAPI + Python | 292 | ~30ms | ||
Django + Python | 388 | ~65ms | ||
Node.js + Next.js | 497 | ~3,000 | ~700ms |
Glossary
- JavaScript
It's a software language I suppose.
- Node.js
It's a JavaScript runtime which is designed primarily for server-side use. Node.js embeds Google's V8 JavaScript engine, the same available in Google Chrome.
- Node API
Suite of APIs provided on top of regular JavaScript, which, collectively, become Node.js. For example, if you're ever imported or required the
fs
orpath
module, you've used the Node API.- ECMAScript
Formal name for JavaScript, as defined by the ECMAScript Standard. JavaScript language versions are denoted as ECMA years; for example, 'ECMA2023' includes JavaScript features up to the year 2023.