Node.js 20 is fast(er)

#​487 — May 23, 2023

Read on the Web

The State of Node.js Performance in 2023 — Nearform’s Rafael Gonzaga reflects on the recent release of Node 20 and puts it through its paces against v18.16 and v16.20 with a few different benchmark suites running on a pretty typical EC2 instance. He goes into a lot of depth that’s worth checking out, but if you haven’t got time: “Node 20 is faster.” ????

Rafael Gonzaga

Companies Spend 4.5 Trillion Dollars on IT Annually — Find out how they’re building internal tools to increase developer productivity & impact. Explore Retool’s 2023 State of Internal Tools report.

Retool sponsor

Bun v0.6.0: Upping Its Node.js Compatibility Game — A ‘biggest release yet’ of the popular alternative JS runtime adds a built-in bundler and minifier, standalone executable generation, and more enhancements to its Node.js compatibility (something Bun boasts as a feature as a ‘drop-in replacement’, as opposed to Deno where it’s more of a late addition).

Jarred Sumner

How to Build Leaner Node Container Images with UBI and Podman — UBI being Red Hat’s Universal Base Images.

Evan Shortiss


It’s not just Bun and Deno trying to offer more Node.js support, but Cloudflare Workers now has support for three more Node APIs too: node:path, the Streams API, and StringDecoder.

The folks at ReversingLabs wrote about how their researchers found some ‘RATs’ hiding in the npm attic – specifically, the TurkoRat ‘infostealer.’

Fusion is a promising looking Node.js-based static site generator sent in by a Node Weekly reader. We’ll cover it properly when it hits 1.0.

A Guide to Visual Regression Testing with Playwright — The Playwright browser control library can form the basis of an end-to-end testing mechanism all written in JavaScript, and comparing the visual output of tests can show where things are going wrong.

Dima Ivashchuk (Lost Pixel)

Benchmarking a ‘Compiled’ Node vs Bun App — The latest release of Bun (also above) has the ability to compile apps into a single executable (something Node 20 added too, though the author uses Vercel’s pkg instead). This isn’t a particularly insightful benchmark, but does provide a data point.


Server-Sent Events with Node — Server-Sent Events (SSE) enable a web server to send real-time updates to the client but without the two-way connection overhead of WebSockets.

endpts Team

???? Code & Tools

Better SQLite3 8.4: Fast and Simple SQLite3 Library — With good docs too. Supports a lot of SQLite specific functionality, has a synchronous API that boasts better concurrency than an async one (?) and worker thread support. v8.4 updates it to SQLite v3.42.0 standard.

Joshua Wise

❤️ Postgres — You need a database provider that loves Postgres as much as you do. Fully managed on public cloud with amazing support.

Crunchy Bridge sponsor

ts-sql-query: Type-Safe SQL Query Builder — Want to build dynamic SQL queries in a type-safe way with TypeScript verifying queries? This is for you. Supports numerous SQL-based database systems and isn’t an ORM itself. (Comes from a direct recommendation from a reader who uses it.)

Juan Luis Paz Rojas

Joplin: An Open Source Note Taking and To-Do System — Essentially an open source Evernote, complete with numerous client apps (desktop and mobile) and a server supporting synchronization via cloud services. GitHub repo.

Laurent Cozic

HyperExpress 6.7: High Performance Server Powered by uWebSockets.js — Aims to be a simple yet performant HTTP and WebSocket Server.


???? Jobs

Find Tech Jobs with Hired — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now.


Mongoose 7.2
↳ MongoDB object modelling library.

Nodejs SQL Parser 4.7
↳ Parse SQL into syntax trees.

Eta (η) 2.2
↳ Embedded JS template engine.

Ts.ED 7.29
↳ TypeScript framework on top of Express.

zip-it-and-ship-it 9.6
↳ Prepare Node Lambda functions for deployment.

AdminJS 7.0.4
↳ Admin panel for Node-based apps.

rimraf 5.0.1
↳ rm -rf util for Node.

node-sass 9.0
↳ Still deprecated, but adds Node.js 20 support.

Axios Cache Interceptor 1.1