🧶
npmとyarnのどちらが速いの?(2023/11/26)
Node.jsのパッケージインストールコマンドであるnpm install
やnpm ci
、yarn install
のどれが速いのか気になったので測ってみました。
環境
バージョンはそれぞれ以下の通りです。
- Node.js:
20.10.0
- npm:
10.2.3
- yarn:
1.22.21
参考にしたもの
計測に際して以下のリポジトリを参考にしました。
計測パターン
パッケージインストールコマンドであるnpm install
、npm ci
、yarn install
に対して以下のパターンでインストールを実行して掛かった時間を結果にまとめてます(てきとう)
- キャッシュなしでnode_modulesもない場合
- キャッシュありでnode_modulesがない場合
- キャッシュありでnode_modulesもある場合
計測方法は冒頭で紹介したリポジトリをフォークした以下を見てください。
結果
結果は図の通りで、どれも数秒以内に完了するようです。ほんの少し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