跳至主要內容

JavaScript 套件管理員基準測試

上次基準測試於2024 年 4 月 21 日,上午 2:44每日更新)。

此基準測試比較 npm、pnpm、Yarn Classic 和 Yarn PnP 的效能(請查看 Yarn 基準測試,了解未包含於此處的任何其他 Yarn 模式)。

以下簡要說明這些測試如何應用於現實世界

  • clean install:執行全新安裝所需的時間:沒有鎖定檔、快取中沒有套件、沒有 node_modules 資料夾。
  • with cachewith lockfilewith node_modules:完成第一次安裝後,再次執行安裝指令。
  • with cachewith lockfile:當開發人員擷取儲存庫並首次執行安裝時。
  • with cache:與上述相同,但套件管理員沒有鎖定檔可使用。
  • with lockfile:當安裝在 CI 伺服器上執行時。
  • with cachewith node_modules:刪除鎖定檔並再次執行安裝指令。
  • with node_moduleswith lockfile:刪除套件快取並再次執行安裝指令。
  • with node_modules:刪除套件快取和鎖定檔並再次執行安裝指令。
  • update:變更 package.json 中的版本並再次執行安裝指令,以更新您的相依項。

大量檔案

應用程式的 package.json 在此

動作快取鎖定檔node_modulesnpmpnpmYarnYarn PnP
安裝31.3 秒9.9 秒7.3 秒3.6 秒
安裝1.5 秒1 秒5.2 秒不適用
安裝8 秒2.5 秒5.4 秒1.4 秒
安裝13.1 秒6.4 秒7.3 秒3 秒
安裝11.8 秒6.2 秒5.4 秒1.4 秒
安裝1.7 秒2.4 秒6.9 秒不適用
安裝1.4 秒1 秒5.2 秒不適用
安裝1.7 秒6 秒6.9 秒不適用
更新不適用不適用不適用6.5 秒3.7 秒5.8 秒3 秒
Graph of the alotta-files results