Основна команда pnpm впроваджує переписану на Rust версію v12, що скорочує час «теплого» встановлення з 381 мс до 12 мс, а «чистого» встановлення — з 6,5 с до 2,2 с. Таке прискорення є критично важливим для розробників, які запускають пакети в конвеєрах безперервної інтеграції (CI), де кожна секунда має значення.
Чому це переписування важливе саме зараз
pnpm уже перевершує багатьох конкурентів за швидкістю, але він працює на Node.js, що створює витрати на запуск кожного разу, коли запускається команда. Ці витрати проявляються як помітна пауза в CI-завданнях, які неодноразово завантажують і зв'язують залежності. Перенісши основне навантаження в нативний бінарний файл Rust — під кодовою назвою pacquet — команда усуває етап завантаження (bootstrap) Node.js і дозволяє Rust обробляти інтенсивні операції з файловою системою в один потік.
Це переписування є портуванням, а не редизайном. Усі прапорці, формати lock-файлів і звична структура node_modules залишаються точно такими ж, тому існуючі скрипти та робочі процеси не потребують змін. В v11 ви вже можете підключити бекенд pacquet; v12 робить його стандартним для завантаження та зв'язування.
Вимірюване зростання продуктивності
Бенчмарки, надані розробниками, показують:
- Тепле встановлення (повторний запуск із кешем): 381 мс → 12 мс, покращення у 30 разів.
- Чисте встановлення (без кешу): 6,5 с → 2,2 с, скорочення часу більш ніж удвічі.
Ризики та компроміси
Рушій на Rust все ще перебуває в стадії альфа-тестування. Команда не рекомендує використовувати v12 у продакшні, доки він не вийде зі стадії попереднього релізу.
Як спробувати вже сьогодні
Розробники можуть протестувати новий бекенд, запустивши pnpm self-update next-12, що завантажить останній бінарний файл попереднього релізу. Команда замінює JavaScript-двигун на Rust-двигун без зміни pnpm-lock.yaml або структури node_modules проєкту. Командам, які хочуть оцінити вплив на свої CI-конвеєри, варто запустити тимчасовий раннер, увімкнути бекенд pacquet і порівняти час збірки з поточним налаштуванням.
Загальна тенденція
Крок pnpm відображає хвилю міграції інструментарію в бік компільованих мов. Такі проєкти, як Biome, Oxc та Deno, переписали свої критично важливі для продуктивності компоненти на Rust або Go, щоб зменшити затримки в робочих процесах розробників.
На що звернути увагу далі
- Етапи стабілізації: відстеження релізів допоможе зрозуміти, коли використання в продакшні стане безпечним.
- Рівність функціональних можливостей: користувачам варто стежити за списком змін (changelog) на предмет пропущених функцій.
Підсумок: переписування pnpm на Rust перетворює і без того швидкий менеджер пакетів на практично миттєвий для повторних встановлень і скорочує час чистих встановлень більш ніж удвічі. Для команд, які щоночі витрачають хвилини на вирішення залежностей, це оновлення обіцяє помітне зниження витрат на CI без необхідності кардинально змінювати робочі процеси.
