Il team core di pnpm sta rilasciando una riscrittura basata su Rust per la v12, riducendo drasticamente i tempi di installazione warm da 381 ms a 12 ms e quelli di installazione clean da 6,5 s a 2,2 s. Il miglioramento della velocità è fondamentale soprattutto per gli sviluppatori che eseguono pacchetti in pipeline di integrazione continua (CI), dove ogni secondo conta.
Perché la riscrittura è importante ora
pnpm supera già molti rivali in termini di velocità, ma gira su Node.js, il che impone un costo di avvio ogni volta che il comando viene lanciato. Questo costo si manifesta come una pausa evidente nei job di CI che recuperano e collegano ripetutamente le dipendenze. Spostando il lavoro pesante in un binario nativo Rust — con nome in codice pacquet — il team elimina il bootstrap di Node.js e permette a Rust di gestire l'enorme attività del file system con un singolo thread.
La riscrittura è un porting, non una riprogettazione. Tutti i flag, i formati dei lockfile e il familiare layout di node_modules rimangono esattamente gli stessi, quindi gli script e i workflow esistenti non richiedono modifiche. Nella v11 è già possibile scegliere il backend pacquet; la v12 lo rende predefinito per il fetching e il linking.
Miglioramenti delle prestazioni misurabili
I benchmark forniti dai manutentori mostrano:
- Warm install (esecuzione ripetuta con cache): 381 ms → 12 ms, un miglioramento di 30 volte.
- Clean install (senza cache): 6,5 s → 2,2 s, riducendo il tempo di oltre la metà.
Rischi e compromessi
Il motore Rust è ancora in fase alpha. Il team sconsiglia l'uso della v12 in produzione finché non uscirà dalla fase di pre-release.
Come provarlo oggi
Gli sviluppatori possono testare il nuovo backend eseguendo pnpm self-update next-12, che scarica l'ultima versione pre-release del binario. Il comando sostituisce il motore JavaScript con quello Rust senza alterare il file pnpm-lock.yaml o il layout di node_modules del progetto. I team che desiderano valutare l'impatto sulle proprie pipeline CI dovrebbero avviare un runner temporaneo, abilitare il backend pacquet e confrontare i tempi di build con la configurazione attuale.
La tendenza più ampia
La mossa di pnpm rispecchia un'ondata di migrazioni di tooling verso i linguaggi compilati. Progetti come Biome, Oxc e Deno hanno tutti ricostruito i componenti critici per le prestazioni in Rust o Go per ridurre la latenza nei workflow degli sviluppatori.
Cosa monitorare in seguito
- Milestone di stabilità: monitorare i rilasci permetterà di capire quando sarà sicuro l'uso in produzione.
- Parità delle funzionalità: gli utenti dovrebbero tenere d'occhio il changelog per eventuali mancanze.
In sintesi: la riscrittura in Rust di pnpm trasforma un package manager già veloce in uno praticamente istantaneo per le installazioni ripetute, e riduce di oltre la metà il tempo per le installazioni da zero. Per i team che passano minuti nella risoluzione delle dipendenze ogni notte, l'aggiornamento promette una riduzione misurabile dei costi di CI senza richiedere una revisione completa del workflow.
