Node.js's 2026 first-half perf haul: SIMD text encoding, faster require(), and a leaner event loop
The performance work is invisible but pays off in lower startup times, faster buffer-heavy code, and reduced per-operation overhead across every Node process. Teams on 24.x or 26.x can upgrade to pick up these gains without touching their code.
Across the first half of 2026, Node.js core absorbed a steady cadence of performance work. Text encoding moved to the SIMD library simdutf, speeding up TextEncoder.encode() and buf.write() - a 2048-character write is now 577% faster. The CommonJS parser was swapped for merve, cutting cold require() times by about 25%, which is especially visible in CLI tools and test runners. ESM startup got a 6.06% boost by baking the loader into a snapshot.
Buffer operations saw large gains: copyBytesFrom() with offsets is 210% faster, and small Buffer hex strings are 41.64% faster. EC public key import from JWK more than doubled, from about 76k to 169k per second, which matters for JWT-heavy services. URLSearchParams delete() removed repeated full-table scans, and node:sqlite text reads sped up by almost 30%. The event loop now skips internal checks when nothing is queued, improving every process.
The changes are grouped by release: 24.15.0/26 in March, 26.1.0/24.16.0 in April, 26.3.0/24.19.0 in May, and 26.5.0 in June. Upgrading to a current 24.x or 26.x minor brings all the gains without code changes; check the changelog for 'perf' to see exactly what landed.
Most of these patches are invisible micro-optimizations, yet they all land in minor releases without API changes, so the upgrade friction is near zero and the win is widespread.
The repeated use of simdutf for TextEncoder, buf.write, and Buffer operations suggests string-to-bytes conversion was a major hotspot worth attacking with SIMD.
March's JWK public key import improvement (76k to 169k per second) translates into a real throughput gain for services doing frequent JWT verification.
Fewer people use Node now, right?
Plenty.