Ir al contenido

El medio de los artesanos de la web jueves, 17 de septiembre de 2026

MailStudio
Back-end

Node.js 26.9.0 incorpora node:bench y activa la FFI por defecto

Node.js 26.9.0, publicada el 16 de septiembre de 2026, añade el módulo de benchmarking integrado node:bench y activa la interfaz FFI por defecto. La versión también refuerza la criptografía con una API MAC genérica y el descubrimiento de algoritmos a través de…

Node.js 26.9.0, publicada el 16 de septiembre de 2026 por Antoine du Hamel, amplía la línea Current con varios módulos esperados desde hace tiempo. Dos incorporaciones destacan: un módulo de medición de rendimiento integrado, node:bench, y la activación por defecto de la FFI. Juntas trasladan al núcleo de la plataforma un instrumental que hasta ahora vivía en dependencias externas.

node:bench, medir sin dependencia externa

Comparar dos implementaciones de una función pasaba, hasta ahora, por una biblioteca de npm o por un script casero en torno a performance.now(). La versión 26.9.0 expone un módulo nativo, node:bench, cuya forma sigue la del proyecto comunitario bench-node del que procede: una Suite, varias llamadas a add() y luego run().

const { Suite } = require('node:bench');

const suite = new Suite();

suite.add('Array.includes', () => {
  [1, 2, 3, 4, 5].includes(4);
});

suite.add('Set.has', () => {
  new Set([1, 2, 3, 4, 5]).has(4);
});

suite.run();

La idea no es sustituir un banco de pruebas completo, sino tener la medición disponible sin instalar nada, incluso en un entorno de integración continua donde cada dependencia añadida engorda la caché. El tema enlaza con los ajustes de caché en GitHub Actions: menos paquetes que restaurar, canalizaciones más predecibles.

La FFI activada por defecto

La FFI (interfaz de funciones foráneas), que permite llamar a bibliotecas nativas sin escribir un addon en C++, estaba disponible tras un indicador. Ahora está activa por defecto. La barrera para conectar código de sistema con una aplicación JavaScript baja en consecuencia, sin compilar un módulo nativo.

Dos tareas históricamente delegadas al ecosistema npm —medir y llamar a código nativo— entran en la biblioteca estándar.

Criptografía: API MAC genérica y descubrimiento vía OpenSSL

El módulo crypto gana una API MAC genérica y la capacidad de descubrir cifrados y funciones de hash directamente desde los proveedores de OpenSSL. En la práctica, los algoritmos que aporta un proveedor externo se hacen visibles sin una enumeración escrita a mano. Esta evolución continúa el reciente refresco de la cadena TLS de Node.js.

DTLS, sistema de archivos virtual y Web Workers

La versión añade también una API DTLS experimental, la integración del sistema de archivos virtual con los cargadores de módulos CommonJS y ESM, y la compatibilidad con Web Workers. A ello se suman la exportación e importación CBOR de los histogramas de los performance hooks y la posibilidad de que los integradores aporten una caché de código de los módulos integrados sin instantánea.

IncorporaciónÁmbitoMadurez
node:benchMedición de rendimientoMódulo nuevo
Interfaz FFIInteroperabilidad nativaActivada por defecto
API MAC genéricaCriptografíaAPI nueva
Descubrimiento vía proveedores OpenSSLCriptografíaCapacidad nueva
API DTLSRedExperimental
Web WorkersConcurrenciaCompatible

Cómo adoptar la versión

Node.js 26 pertenece a la línea Current, la que recibe las novedades antes de pasar a soporte a largo plazo. La instalación sigue el canal habitual:

nvm install 26.9.0
node --version   # v26.9.0
node --run bench

La línea Current no está pensada para un despliegue en producción inmediato en proyectos sensibles a la estabilidad: las API marcadas como experimentales, como DTLS, pueden cambiar de firma. Para un servicio en producción conviene esperar al soporte a largo plazo o acotar el uso de las API experimentales tras una capa de abstracción.

Lo que hay que recordar

La 26.9.0 es una versión de enriquecimiento más que de ruptura. Reduce la superficie de dependencias de un proyecto al internalizar la medición de rendimiento y las llamadas nativas, y prepara el terreno del lado de la criptografía y la red. Los equipos que ya están en Node.js 26 pueden adoptarla sin una migración pesada; los demás verán un motivo más para preparar el salto, teniendo presente el estado experimental de algunas API.

En dos proyectos sustituí una pequeña dependencia de benchmarking por un borrador en torno a node:bench en cuanto llegó la versión preliminar: la ganancia no es la velocidad, es tener una cifra reproducible sin instalar nada, directamente en la CI. En la misma línea, la FFI por defecto es de esos cambios discretos que ahorran una tarde el día en que hay que enlazar una biblioteca de sistema sin lanzarse a un addon nativo. El resto, empezando por DTLS, puede esperar a estabilizarse. — Simon Janvier

Para profundizar: las notas de versión oficiales de Node.js 26.9.0 en GitHub, con la lista completa de cambios.

Compartir LinkedIn Bluesky Hacker News E-mail

Leer también