近日,前端工具鏈Bun 專案的關注度頗高。 Bun 是像Node 或Deno 一樣的現代JavaScript 運行時,作者是Jarred Sumner ,曾在Stripe 和Thiel Fellowship 工作。
Bun 原生實作了數百個Node.js 和Web API,包括約90% 的Node-API 函式(本機模組)、fs、path、Buffer 等。而據其新推出的網站稱,「從頭開始構建,專注於三個方面」:
快速開始(考慮到優勢)。
新的效能等級(擴展JavaScriptCore,引擎)。
作為一個偉大而完整的工具(捆綁器、轉譯器、套件管理器)。
Bun 的目標是在瀏覽器之外運行世界上大多數JavaScript,為您的未來基礎架構帶來效能和複雜性的增強,並透過更好、更簡單的工具提高開發人員的生產力。
更好的性能表現
它在serve、sqlite、ffi 三個方面與Node.js 和Deno 的性能對比如下:
根據官網測試截圖,其React 的伺服器端渲染速度是Node 或Deno 的三倍以上,同時,官網也給了Bun 效能表現如此好的原因:
不同於Node.js 和Deno 使用的是V8 引擎,Bun使用了JavaScriptCore 引擎,不同的引擎會產生不同效能;
使用了新興的系統程式語言Zig,Bun 的創建者說Zig 缺少隱藏的控制流使得編寫快速軟體變得更加簡單。
到目前為止,大多數觀察者都認為Bun 在性能方面值得關注,並且npm 模組相容性是一個巨大的優勢。但值得注意的是,Bun 仍處於早期階段,近日才發布Beta 測試版。
參考連結:
https://developers.slashdot.org/story/22/07/10/000246/meet-bun-a-speedy-new-javascript-runtime
https://devclass.com/2022/07/06/ zig-based-bun-appears-in-beta-an-incredibly-fast-all-in-one-javascript-runtime/
專案位址:
https://github.com/oven-sh/bun