Как быстро сравнить время работы разных команд: использовать пакет hyperfine.
Страница проекта содержит полезные примеры, здесь парочка тех, что я использовал для запуска тестов различных команд (бенчмарканья? бенчмаркинга?).
1 2 3 4 5 | # Запустить две команды с параметрами по умолчанию, сравнить время выполнения. npx hyperfine 'yarn jest test' 'yarn jest test -- --maxWorkers=50%' # Запустить одну команду N раз, посчитать время npx hyperfine --min-runs 5 --warmup 1 'yarn build' |
Опция —warmup может понадобиться, чтобы увеличить точность расчёта и исключить сайд-эффекты. Утилита достаточно умная, чтобы после запуска предложить использование этой опции.
Замеры для длинных команд:
1 2 | export _cmd1="find app/ -type f \( -name '*.ts' -o -name '*.js' -o -name '*.tsx' -o -name '*.jsx' \) -exec grep 'export default' {} \; | wc -l" npx hyperfine 'eval $_cmd1' 'ack "export default" app/ | wc -l' |
Можно, конечно, создать временный скрипт, и использовать его для запуска вместо алиаса.