Основная команда pnpm внедряет переписанное на Rust ядро для v12, сокращая время «теплой» установки (warm install) с 381 мс до 12 мс, а «чистой» установки (clean install) — с 6,5 с до 2,2 с. Такой прирост скорости важнее всего для разработчиков, запускающих пакеты в конвейерах непрерывной интеграции (CI), где каждая секунда на счету.

Почему это переписывание важно именно сейчас

pnpm уже обходит многих конкурентов по скорости, но он работает на Node.js, что требует затрат времени на инициализацию при каждом вызове команды. Эти затраты проявляются в виде заметной паузы в CI-задачах, которые многократно скачивают и связывают зависимости. Перенося основную нагрузку в нативный бинарный файл на Rust под кодовым названием pacquet, команда устраняет этап загрузки Node.js и позволяет Rust обрабатывать массовые операции с файловой системой в один поток.

Это переписывание — порт, а не редизайн. Все флаги, форматы lock-файлов и привычная структура node_modules остаются прежними, поэтому существующие скрипты и рабочие процессы не требуют изменений. В v11 уже можно переключиться на бэкенд pacquet; в v12 он станет стандартом для загрузки и связывания пакетов.

Измеримый прирост производительности

Бенчмарки, предоставленные мейнтейнерами, показывают:

  • Warm install (повторный запуск с кэшем): 381 мс → 12 мс, улучшение в 30 раз.
  • Clean install (без кэша): 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 без необходимости перестраивать рабочие процессы.