Node.js 27 alpha cambia il limite dell’heap: metà RAM di default, contano anche Buffer
Testo scritto con l’intelligenza artificiale a partire da una fonte citata, senza revisione umana prima della pubblicazione.
La build 27.0.0-alpha introduce nuove API JavaScript, un formato di serializzazione incompatibile con release precedenti e impone un nuovo calcolo del limite di heap se non si specifica --max-old-space-size.
Node.js 27.0.0‑alpha.0.0.0 dimezza per default il tetto dell’heap: senza --max-old-space-size il limite vale metà della RAM fisica, con minimo 256 MB e massimo 4 GB. Da ora nel conteggio rientra anche la memoria di Buffer e ArrayBuffer. Chi si affidava ai vecchi default deve impostare esplicitamente --max-old-space-size per evitare regressioni o out of memory1.
La build, firmata da Rafael Gonzaga e pubblicata il 29 ottobre 2026, aggiorna V8 alla 15.6.75.13, abilita nuove API di linguaggio e introduce un formato di serializzazione non compatibile con versioni precedenti di Node.js1.
Sul fronte V8, diventano disponibili di default: Math.sumPrecise(), Intl.Locale.prototype.variants, Iterator.prototype.join(), Iterator.prototype.includes(), Iterator.zip() e Iterator.zipKeyed()1. Restano dietro flag alcune funzioni sperimentali: Import defer (attivabile con --js-defer-import-eval), Immutable ArrayBuffer (con --js-immutable-arraybuffer) e i confini di buffer nelle espressioni regolari (con --js-regexp-buffer-boundaries)1.
Il nuovo comportamento della memoria impatta il dimensionamento degli ambienti. In assenza di --max-old-space-size, il limite dell’heap si allinea a metà della memoria fisica entro l’intervallo 256 MB, 4 GB. La memoria allocata tramite Buffer e ArrayBuffer entra nel calcolo. Applicazioni che prima restavano sotto soglia grazie a memoria off‑heap ora possono superarla. Le note invitano a fissare --max-old-space-size se si contava sui vecchi valori impliciti1.
Cambia anche la serializzazione. v8.serialize(), structuredClone() e postMessage() adottano un nuovo formato, che le versioni precedenti di Node.js non possono leggere. Inoltre variano v8.cachedDataVersionTag() e la cache di compilazione a ogni patch di V8 inclusa in Node.js, non solo ai salti di versione del motore. Questo tocca meccanismi che persistono o riutilizzano dati di compilazione tra esecuzioni1.
La sezione Notable Changes elenca questi interventi e specifica i flag per le funzioni sperimentali. L’indicazione su heap e Buffer è netta: il cambiamento vale solo quando non si definisce --max-old-space-size, che resta l’opzione per un limite personalizzato1.
Cosa fare ora. Misurare l’uso di memoria con i nuovi default, poi decidere se impostare --max-old-space-size in base al carico previsto. Verificare l’interoperabilità della serializzazione tra processi o servizi che scambiano snapshot o payload binari e, se necessario, evitare di mescolare versioni di Node.js con formati diversi. Tenere conto che cachedData e compilation cache cambiano a ogni patch di V8 inclusa in Node.js, quindi prevedere la rigenerazione dei dati alla migrazione1.
La scelta di legare il limite dell’heap alla memoria fisica rende più prevedibili i consumi in ambienti eterogenei. Per i cluster containerizzati, l’impostazione esplicita del limite resta il modo più rapido per allineare il profilo di memoria ai vincoli del runtime1.
Fonti
Come è nato questo articolo Scritto da un sistema di intelligenza artificiale, con controlli automatici
Millebit non ha giornalisti che scrivono gli articoli: li scrive un motore editoriale basato su modelli di intelligenza artificiale, a partire dalle fonti elencate qui sopra. Prima di uscire, ogni testo passa questi controlli:
- Fedeltà alle fonti. Un secondo passaggio toglie ogni affermazione che le fonti non sostengono. Valutazione su questo pezzo: 10/10.
- Anti-cliché. Un filtro scarta frasi fatte, enfasi e tic della prosa artificiale: superato.
- Giudizio editoriale. Un modello valuta il pezzo su sette criteri (apertura, chiarezza, economia, concretezza, voce, struttura, fedeltà) e sotto 7,8/10 non si pubblica. Questo articolo ha preso 8,3/10 dopo 2 revisioni.
I controlli riducono gli errori ma non li eliminano: un modello può fraintendere una fonte. Per le decisioni importanti, risali alla fonte originale. Se trovi un errore, segnalacelo.
Per vedere Millebit nelle notizie principali di Google, aggiungilo alle tue fonti preferite. Oppure segui l’edizione di oggi, il feed RSS o La Sintesi.