Speed comparisons on various Hardware / Repos

My System

  • Apple MacBook Pro 16" M1 Max
    • RAM: 64GB
    • CPU: M1 Max 10 Core (~3.22GHz)
    • OS: MacOS Monterey 12.4
    • Disk: 1TB SSD

Ember repo

yarn build

About 9.5s

$ hyperfine --runs 5 \
--setup 'yarn && yarn build' \
'yarn build'
...
Benchmark 1: yarn build
  Time (mean ± σ):      9.522 s ±  0.090 s    [User: 14.785 s, System: 2.259 s]
  Range (min … max):    9.397 s …  9.609 s    5 runs

cacheless install

About 17s

$ hyperfine --runs 5 \
  --prepare 'yarn cache clean && rm -r node_modules' \
  'yarn install'
...
Benchmark 1: yarn install
  Time (mean ± σ):     17.001 s ±  2.066 s    [User: 11.129 s, System: 19.702 s]
  Range (min … max):   15.680 s … 20.648 s    5 runs

regular / cached install

About 4s

$ hyperfine --runs 5 \
  --setup 'yarn' \
  --prepare 'rm -r node_modules' \
  'yarn install'
...
Benchmark 1: yarn install
  Time (mean ± σ):      4.028 s ±  0.043 s    [User: 3.962 s, System: 10.335 s]
  Range (min … max):    3.987 s …  4.092 s    5 runs

Limber Repo

cached production build

About 15.8s

$ hyperfine --runs 5 \
  --setup 'pnpm install && pnpm build' \
  'pnpm run --filter=limber build'
...
Benchmark 1: pnpm run --filter=limber build
  Time (mean ± σ):     15.833 s ±  0.155 s    [User: 19.787 s, System: 3.022 s]
  Range (min … max):   15.688 s … 16.050 s    5 runs

uncached production build

About 16.4s

MacOS uses a $TMPDIR variable to locate the folder so we rm $TMPDIR/embroider to get a cacheless build

$ hyperfine --runs 5 \
  --setup 'pnpm install && pnpm build' \
  --prepare 'rm -r $TMPDIR/embroider' \
  'pnpm run --filter=limber build'
...
Benchmark 1: pnpm run --filter=limber build
  Time (mean ± σ):     16.396 s ±  0.186 s    [User: 19.844 s, System: 3.000 s]
  Range (min … max):   16.138 s … 16.574 s    5 runs

cacheless install

I also don’t know how to clear the cache in pnpm

regular / cached install

About 9.7s

$ hyperfine --runs 5 \
  --setup 'pnpm install' \
  --prepare 'rm -r node_modules' \
  'pnpm install'
...
Benchmark 1: pnpm install
  Time (mean ± σ):      9.710 s ±  0.100 s    [User: 3.806 s, System: 27.534 s]
  Range (min … max):    9.591 s …  9.858 s    5 runs

Not sure why pnpm is slower, tried a few times but always got similar results.

1 Like