A small, fast JavaScript & TypeScript runtime written in C++. One ~3 MB binary, TypeScript out of the box, and a Web-standard HTTP server.
$curl -fsSL https://byteforgestudiolab.github.io/RunTime-Now/install | bash
Linux x64 & arm64 · then run rtn --help · upgrade anytime with rtn upgrade
Run .ts files directly. Types are stripped in C++ with line numbers preserved, so stack traces point at your source.
rtn.serve() with Request, Response, Headers and URL: the same shape as Deno and Bun.
A static ~3 MB binary with no dependencies, ~10 ms startup and an HTTP server in ~3 MB of RAM.
rtn upgrade downloads the latest release, verifies its SHA-256 and swaps it in atomically.
// server.ts — run it with: rtn server.ts interface Todo { id: number; title: string } const todos: Todo[] = []; rtn.serve({ port: 3000 }, async (req: Request) => { if (req.method === "POST") { todos.push({ id: todos.length + 1, ...(await req.json()) }); return Response.json(todos.at(-1), { status: 201 }); } return Response.json(todos); });

| Runtime | Requests/s | Memory | Startup |
|---|---|---|---|
| ⚡ rtn 1.5 | 51,751 | 3.2 MB | 10 ms |
| Node 24 | 55,466 | 89.0 MB | 44 ms |
| Bun 1.4 | 99,590 | 38.8 MB | 2 ms |
| Deno 2.9 | 113,984 | 43.6 MB | 29 ms |
"Hello World" HTTP server, HTTP/1.1 keep-alive, 64 connections, same machine. rtn uses the QuickJS-ng interpreter; Bun and Deno use JIT engines.