Bun v1.4 performance leads developers away from Node.js and Deno
Bun v1.4 outperforms competitors by handling 48,243 requests per second, significantly exceeding Node.js v26.7.0 and Deno v2.9.5. This runtime offers superior speed, lower peak RAM usage, and faster installation times compared to traditional JavaScript environments.
Bun v1.4 delivers superior runtime speed
Bun v1.4 handles 48,243 requests per second, which beats Node.js v26.7.0 at 25,181 requests per second and Deno v2.9.5 at 19,243 requests per second. During query tests, Bun v1.4 reaches 20,243 queries per second, whereas Deno v2.9.5 hits 10,406 and Node.js v26.7.0 hits 10,000. When evaluating the messaging throughput for publication, Bun v1.4 processes 4,170,027 messages per second, which far exceeds the 124,088 messages per second handled by Deno v2.9.5 or the 123,486 messages per second managed by Node.js v26.7.0. For send operations, Bun v1.4 reaches 159,379 messages per second, which is higher than Deno v2.9.5 at 124,088 and Node.js v26.7.0 at 123,486. Bun v1.4 also uses only 37 MB of peak RAM for send operations, while Node.js v26.7.0 uses 78 MB and Deno v2.9.5 uses 1.2 GB. Regarding request-based peak RAM, Bun v1.4 uses 105 MB, compared to 142 MB for Node.js v26.7.0 and 176 MB for Deno v2.9.5. In query-based peak RAM, Bun v1.4 uses 80 MB, while Node.js v26.7.0 uses 168 MB and Deno v2.9.5 uses 181 MB.
| Runtime | Version | Requests/sec | Peak RAM |
|---|---|---|---|
| Bun | v1.4 | 48,243 | 105 MB |
| Node.js | v26.7.0 | 25,181 | 142 MB |
| Deno | v2.9.5 | 19,243 | 176 MB |
Tooling and built-in capabilities
Bun v1.4 includes first-class support for TypeScript, including "paths", "enum", and "namespace". It also provides first-class support for JSX. The runtime includes built-in drivers for PostgreSQL, MySQL, and SQLite. Bun provides an S3 client and a Redis client with Pub/Sub. The built-in HTTP server uses Bun.serve({ routes }) to handle dynamic routes and wildcards. Bun also includes first-class parsers for YAML, TOML, and Markdown. You know how much time you spend on environment configuration. Bun v1.4 aims to be a drop-in replacement for Node.js apps. Deno’s package manager has limited features.
Bun v1.4 provides native addons by calling C-compatible native code from JavaScript via bun:ffi, N-API, or the partial V8 C++ API. Bun allows developers to import custom file types using module loader plugins. Bun.plugin works in both browsers and Bun, whereas Deno provides 3 different loader APIs that are server-side only. The runtime includes a built-in test runner that is Jest-compatible. Bun’s bundler handles production builds for both frontend and backend. Bun also supports monorepos through the use of workspaces, –filter, and catalogs. Bun supports Web Standard APIs including fetch, URL, EventTarget, Headers, and streams. Bun compiles to a standalone binary that runs anywhere. Node.js supports cross-compilation, embedded files, bytecode, and code signing. Deno lacks native addons, cross-compilation, or bytecode.
Installation speed and resource usage
Bun v1.4 installs in 210 seconds and uses 12 MB of peak RAM. This compares to npm v12.0.2, which takes 4,450 seconds and uses 698 MB. pnpm v11.21.0 takes 1,920 seconds and uses 1.4 GB of peak RAM, while yarn v1.22.22 takes 1,760 seconds and uses 205 MB. For a first install with no cache, no lockfile, and no node_modules, Bun v1.4 takes 1.41 seconds. npm v12.0.2 takes 18.12 seconds, pnpm v11.21.0 takes 13.49 seconds, and yarn v1.22.22 takes 20.51 seconds.
When performing a fresh checkout with a warm cache, no lockfile, and every package already in the cache, Bun v1.4 takes 251ms. npm v12.0.2 takes 7.61s, pnpm v11.21.0 takes 2.38s, and yarn v1.22.22 takes 1.83s. In a CI environment without a cache where the lockfile is committed but every tarball must be fetched from the registry, Bun v1.4 takes 951ms. npm v12.0.2 takes 4.92s, pnpm v11.21.0 takes 11.69s, and yarn v1.22.22 takes 17.61s. In a CI environment with a warm cache where the lockfile is committed and the dependency cache is restored, Bun v1.4 takes 210ms. npm v12.0.2 takes 4.45s, pnpm v11.21.0 takes 1.92s, and yarn v1.22.22 takes 1.76s. If the node_modules are already present but the dependency cache is cleared, Bun v1.4 takes 12ms, npm v12.0.2 takes 384ms, pnpm v11.21.0 takes 399ms, and yarn v1.22.22 takes 212ms. When everything is already up to date, Bun v1.4 takes 12ms, npm v12.0.2 takes 337ms, pnpm v11.21.0 takes 400ms, and yarn v1.22.22 takes 211ms. Will the other runtimes catch up to this level of efficiency?