Bun 是什麼? Bun 介紹和速度對比

Bun 是什麼?

Bun 是像 Node.js 或 Deno 一樣的現代 JavaScript 執行環境,使用 Zig 語言(Node.js -> C++, Deno -> Rust),JavaScriptCore 引擎(Safari),(Node.js 和 Deno 使用的是 V8 ,Chromium 使用的引擎)開發

優點:
  • 速度快
  • 預設支援 TypeScript
  • 使用簡單,內建套件管理器、測試工具
  • 相容於現有 Node.js 和 npm 的套件

速度對比(以下資料取自 Bun 官網和 Bun Github 頁面介紹):
  • 啟動速度比 deno 快兩倍,比 node.js 快 4.5 倍
  • 套件管理器的安裝速度 bun install 比 npm install 快 20 到 100 倍
  • bun run 只要 6 毫秒,而 npm run 需要 170 毫秒
  • http 每秒請求數: bun  48,936  node  16,288  deno  15,786
  • 大量資料下的每秒查詢次數: bun (sqlite) 60.24  node (sqlite3) 23.28  deno (x/sqlite) 9.55
  • 每秒操作次數: bun (ffi) 13,080,444  node (napi) 6,870,963  deno (ffi) 5,736,247

Bun 目前還是在早期預覽版,在 Github issue 上有一片的 bug,包括記憶體流失和程式卡死沒有回應的錯誤,不建議在正式環境上使用
Bun 目前已經發布 v1.0.0 版本,可以在生產環境上使用,但是主要支援 macOS 和 Linux ,在 Windows 上還沒有辦法直接使用。

延伸閱讀:
在 Windows 上建立第一個 Bun 專案

參考資料:
Bun 官網
Bun 的 Github 頁面
Next.js 太慢了,所以他做了包子?Jarred Sumner 和 Bun 的故事

留言