DEV Community

Discussion on: In-depth of tnpm rapid mode - how we managed to be 10 second faster than pnpm

Collapse
 
trivikr profile image
Trivikram Kamat

I tried to reproduce the large number of system calls in yarn@3.1.1 with a vue vite-ts project, but the benchmarks show yarn has least number of syscalls:

  • npm v8.1.2: cold - 66912, warm - 9116
  • yarn v3.1.1: cold - 1386, warm - 864
  • pnpm v6.29.1: cold - 32890, warm - 5798

Details in GitHub discussions: github.com/yarnpkg/berry/discussio...

@atian25 Can you share the steps you used for counting number of system calls using strace?

Collapse
 
trivikr profile image
Trivikram Kamat

Update: The benchmark numbers were not accurate as the default modes for package managers are different. Also strace needs -f option to trace system calls from child processes.

I added new numbers in github.com/yarnpkg/berry/discussio...

  • yarn v3.1.1: cold - 221068, warm - 37702
  • pnpm v6.29.1: cold - 74734, warm - 28430

As per discussions in discord thread npm is not included in this benchmarks as:

  • npm cannot use central store.
  • it's not possible to turn off central store in pnpm.

yarn can be compared to npm by disabling central store.
yarn can be compared to pnpm by adding central store support to yarn's pnpm linker.