#node.js #performance #npm #dependency-management #profiler
#node.js #Производительность #npm #управление зависимостями #профилировщик
Вопрос:
Я пытаюсь узнать, сколько времени npm install
требуется для завершения установки всех моих зависимостей. Есть ли способ определить время этого процесса, изначально (в npm) или с помощью какого-либо стороннего плагина? Я пробовал * npm i --verbose
* npm i --silly
* slow-deps
(стороннюю библиотеку, которая анализирует ваши пакеты npm)
slow-deps
дал мне достойный результат, но я не уверен в его точности, поскольку он не запускается как часть npm install
процесса.
Есть ли какой-либо другой способ точно определить временной профиль npm install
процесса? Я ищу такой результат (скриншот вывода из Yarn):
Комментарии:
1.
time npm install
?2. Не могли бы вы добавить это в качестве ответа?
Ответ №1:
Спасибо за вашу помощь. Я наткнулся на несколько утилит для этого:
time
Утилита, упомянутая @JJJ в разделе комментариев.gnomon
Пакет Paypal, который обновляет временные метки для всего.
Комментарии:
1. Не знал gnomon , сразу к моему поясу инструментов 🙂
2. npm 9.2.0 выводит на stderr (странно для меня …), Поэтому, чтобы использовать gnomon с ним, вам нужно сделать
npm install --verbose 2>amp;1 | gnomon
. К сожалению, проект gnomon заархивирован, не поддерживается и не содержит обновленных форков… :-/
Ответ №2:
Используйте time
команду Linux и выполните следующую команду:
time npm install
Также в соответствии с https://www.commandlinux.com/man-page/man1/time.1.html
Пользователям оболочки bash необходимо использовать явный путь, чтобы запустить внешнюю команду time, а не встроенный вариант оболочки.
итак, ваша команда может быть (я пользователь macOS и использую приведенную ниже команду):
/usr/bin/time npm install
Вывод этой команды (в последней строке) будет примерно таким:
153.96 real 67.63 user 34.12 sys
итак, в основном то, на что вы смотрите, — это real
число, выраженное в секундах. В приведенном выше примере время, затрачиваемое:
153.96s