🧶

npmとyarnのどちらが速いの?(2023/11/26)

2023/11/26に公開

Node.jsのパッケージインストールコマンドであるnpm installnpm ciyarn installのどれが速いのか気になったので測ってみました。

環境

バージョンはそれぞれ以下の通りです。

  • Node.js: 20.10.0
  • npm: 10.2.3
  • yarn: 1.22.21

参考にしたもの

計測に際して以下のリポジトリを参考にしました。

https://github.com/appleboy/npm-vs-yarn

計測パターン

パッケージインストールコマンドであるnpm installnpm ciyarn installに対して以下のパターンでインストールを実行して掛かった時間を結果にまとめてます(てきとう)

  1. キャッシュなしでnode_modulesもない場合
  2. キャッシュありでnode_modulesがない場合
  3. キャッシュありでnode_modulesもある場合

計測方法は冒頭で紹介したリポジトリをフォークした以下を見てください。

https://github.com/yukinissie/npm-vs-yarn

結果

結果は図の通りで、どれも数秒以内に完了するようです。ほんの少しyarnが速そうですね。

npm install npm ci yarn
キャッシュなしでnode_modulesもない場合 4.88s 5.02s 4.64s
キャッシュありでnode_modulesがない場合 2.20s 2.18s 1.68s
キャッシュありでnode_modulesもある場合 0.79s 2.46s 0.43s

おわりに

素直な感想として速度を理由にnpmからyarnに乗り換える必要性はあまり感じられなくなりました。

フォーク元のリポジトリにあるように、インストールの速度がもともと3分とか1分とかで競っていた時代がありましたが、現在は数秒で終わってくれるような素晴らしい時代になりました。

OSSコントリビューターのみなさんには感謝したいですね。

Discussion