Vercel 公司上周在 Next.js Conf 大會上發布了 Next.js 13,同時宣布了最新的開源項目:Turbopack。Turbopack 是面向 JavaScript 和 TypeScript 優化的增量打包工具和構建系統,采用 Rust 編寫,聲稱是 Webpack 的繼任者。
其實 Turbopack 正是出自 Webpack 作者 Tobias Koppers 之手,這是他去年加入 Vercel 之后所主導的核心項目。Tobias 深度參與了 Turbopack 的開發。
官方在宣傳 Turbopack 時強調了其速度之快 —— 號稱熱更新速度比 Webpack 快 700 倍、比 Vite 快 10 倍;冷啟動速度比 Webpack 快 5 倍。這是因為 Turbopack 在打包時僅引入所需的最少資源,因此冷啟動時間非常快。Turbopack 稱在包含 3,000 個模塊的應用程序中,其冷啟動時間為 1.8 秒,而 Vite 需要 11.4 秒,Webpack 需要 16.5 秒。
此外,根據 Turbopack 的官方解釋,它基于一個用 Rust 編寫的增量計算引擎 Turbo,Turbo 可實現細分到函數粒度的結果緩存、支持內存緩存,未來還將有持久化緩存和遠程緩存,以及支持按需編譯,盡量減少計算量。
Turbopack 聲稱熱更新速度比 Vite 快 10 倍,但由于在發布時 Turbopack 沒有為這些對比數據提供測試基準,Vue.js 和 Vite 的創建者尤雨溪便親自創建了測試基準來比較 Vite 和 Turbopack 在 HMR(模塊熱加載)方面的性能差異,并將測試方法和數據公開在 GitHub 倉庫中 (https://github.com/yyx990803/vite-vs-next-turbo-hmr)。
最終的測試結果顯示,Turbopack 的熱加載速度確實比 Vite 快,但遠遠沒有 10 倍的差距。尤雨溪承認了兩者的差距,同時希望 Vercel 公司能提供更透明的基準測試,并在營銷過程中使用更準確的表達。
就在今天,Turbopack 公布了性能基準測試方法,并將他們的基準測試結果提供給公眾進行驗證。
如需運行基準測試,查看 Turbopack 基準測試文檔:https://turbo.build/pack/docs/benchmarks
下圖是 Vite 與 Turbopack 的 HMR 性能測試對比。Turbopack 表示,當應用程序的模塊數量增加到 30k 以上時,Turbopack 的 HMR 速度比 Vite 快 10 倍。而且隨著模塊數量的增加,差距也更明顯 —— 當模塊數量超過 50k 時,Turbopack 比 Vite 快 20 倍。
對于 Turbopack 遲來的性能基準測試,尤雨溪再度發聲,并說道:“Turbopack 真的比 Vite 快 10 倍嗎?”
尤雨溪在閱讀 Turbopack 的基準測試后發現,他和 Turbopack 的測試方法和環境存在較大差異,比如 Vite 使用默認的、基于 Babel 的 React 插件,沒有使用 RSC,而在 Next.js 中默認啟用了 RSC。在這種前提下,這種性能比較缺乏了公平的場景。甚至在小數點的取舍時,Turbopack 都選擇了對自己有利的方法 ——Turbopack 的 15ms 四舍五入為 0.01s,而 Vite 的 87ms 則四舍五入為 0.09s。
尤雨溪認為,開源軟件的競爭應該建立在開放的溝通、公平的比較和相互尊重的基礎上。所以當他看到 Vercel 使用了精心挑選、未經同行評審、存在誤導的數據來進行營銷時,感到失望和擔憂,因為這種場景通常只在商業競爭中發生。
審核編輯 :李倩
-
開源軟件
+關注
關注
0文章
212瀏覽量
16269 -
緩存
+關注
關注
1文章
246瀏覽量
27169 -
函數
+關注
關注
3文章
4380瀏覽量
64850
原文標題:Webpack繼任者Turbopack公布性能基準測試,Vite創建者尤雨溪再度發聲
文章出處:【微信號:OSC開源社區,微信公眾號:OSC開源社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
1.9倍性能提升!英特爾至強6在MLPerf基準測試中表現卓越
曙光存儲FlashNexus登頂SPC-1基準測評
SPEC ML基準測試新增模算效率指標
AWTK-WEB 快速入門(3) - C 語言 Http 應用程序

MPU的性能評估方法
RISC-V基金會CEO宣布辭職,誰將成為繼任者

如何設計ADC和DAC的基準源,以及基準源如何影響ADC與DAC那些性能?
MLCommons推出AI基準測試0.5版
浪潮信息AS13000G7榮獲MLPerf? AI存儲基準測試五項性能全球第一

評論