Zespół rdzenny pnpm wdraża przebudowę opartą na języku Rust dla wersji v12, skracając czas instalacji typu warm (z cache'em) z 381 ms do 12 ms oraz czystych instalacji z 6,5 s do 2,2 s. Wzrost prędkości jest najważniejszy dla programistów korzystających z potoków ciągłej integracji (CI), gdzie każda sekunda ma znaczenie.

Dlaczego ta przebudowa ma znaczenie właśnie teraz

pnpm już teraz wyprzedza wielu konkurentów pod względem prędkości, ale działa na Node.js, co wymusza koszt uruchomienia przy każdym wywołaniu komendy. Koszt ten objawia się jako zauważalne opóźnienie w zadaniach CI, które wielokrotnie pobierają i linkują zależności. Przenosząc najcięższe operacje do natywnego pliku binarnego Rust — o kryptonimie pacquet — zespół eliminuje proces bootstrap Node.js i pozwala Rustowi obsługiwać intensywne operacje na systemie plików przy użyciu pojedynczego wątku.

Przebudowa to port, a nie przeprojektowanie. Wszystkie flagi, formaty plików lockfile oraz znajomy układ node_modules pozostają dokładnie takie same, więc istniejące skrypty i przepływy pracy nie wymagają zmian. W wersji v11 można już zdecydować się na użycie backendu pacquet; v12 czyni go domyślnym dla pobierania i linkowania.

Mierzalne zyski wydajnościowe

Benchmarki dostarczone przez utrzymujących projekt pokazują:

  • Instalacja typu warm (powtarzalne uruchomienie z cache'em): 381 ms → 12 ms, czyli 30-krotna poprawa.
  • Czysta instalacja (bez cache'u): 6,5 s → 2,2 s, co skraca czas o ponad połowę.

Ryzyka i kompromisy

Silnik Rust jest wciąż w fazie alpha. Zespół odradza używanie v12 w środowiskach produkcyjnych, dopóki nie wyjdzie z fazy wersji przedpremierowej.

Jak wypróbować to już dziś

Programiści mogą przetestować nowy backend, uruchamiając pnpm self-update next-12, co pobiera najnowszy plik binarny wersji przedpremierowej. Komenda ta zamienia silnik JavaScript na silnik Rust bez zmiany pliku pnpm-lock.yaml ani układu node_modules w projekcie. Zespoły, które chcą ocenić wpływ na swoje potoki CI, powinny uruchomić tymczasowy runner, włączyć backend pacquet i porównać czasy budowania z obecną konfiguracją.

Szerszy trend

Ruch pnpm odzwierciedla falę migracji narzędzi w stronę języków kompilowanych. Projekty takie jak Biome, Oxc i Deno przebudowały swoje krytyczne wydajnościowo komponenty w Rust lub Go, aby zredukować opóźnienia w procesach pracy programistów.

Na co zwrócić uwagę w następnej kolejności

  • Kamienie milowe stabilności: Monitorowanie wydań pozwoli określić, kiedy wersja będzie bezpieczna do użytku produkcyjnego.
  • Zgodność funkcji: Użytkownicy powinni śledzić changelog pod kątem ewentualnych braków.

Podsumowując: przebudowa pnpm w Rust zmienia już i tak szybki menedżer pakietów w narzędzie działające praktycznie natychmiastowo przy powtarzalnych instalacjach, a czas czystych instalacji skraca o ponad połowę. Dla zespołów, które co noc spędzają minuty na rozwiązywaniu zależności, aktualizacja obiecuje wymierną redukcję kosztów CI bez konieczności całkowitej przebudowy przepływu pracy.