精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

尤雨溪:Turbopack真的比Vite快10倍嗎?

開發 前端
在 Turbopack 官方文檔的基準圖中,最初顯示帶有 Turbopack 的 Next 13 能夠在 0.01 秒內執行 React Hot-Module Replacement (HMR,即熱更新),而對于 Vite,則需要 0.09 秒。

大家好,我是 CUGGZ。

10 月 25 日,Vercel 推出了下一代打包工具:Turbopack,它是基于 Rust 的 Webpack 繼任者,其文檔中提到,Turbopack 比 Vite 快 10 倍。11 月 1 日,Vue、Vite 作者尤雨溪發表文章 《Is Turbopack really 10x Faster than Vite?》,對 Turbopack 和 Vite 進行了測試對比,下面就來看看詳細內容吧!

在 Turbopack 官方文檔的基準圖中,最初顯示帶有 Turbopack 的 Next 13 能夠在 0.01 秒內執行 React Hot-Module Replacement (HMR,即熱更新),而對于 Vite,則需要 0.09 秒。上面也有冷啟動性能基準,但由于沒有一個冷啟動基準顯示出 10 倍的優勢,我們只能假設“快 10 倍”的說法是基于 HMR 性能。

Vercel 并沒有在文檔中包含指向他們用來生成這些結果的基準的任何鏈接。所以,尤大決定使用新發布的 Next 13 和 Vite 3.2 來驗證這些聲明。測試的要點是通過測量以下兩個時間戳之間的增量來比較 HMR 性能:

  • 修改源文件的時間,通過單獨的 Node.js 進程記錄文件更改;
  • 更新的 React 組件重新渲染的時間,通過Date.now() 調用直接記錄在組件的渲染輸出中。注意,此調用發生在組件的虛擬 DOM 渲染階段,因此它不受 React 協調或實際 DOM 更新的影響。

該基準還測量了兩種不同情況下的結果:

  • root:根組件,組件導入 1000 個不同的子組件并將它們一起渲染。
  • leaf:葉子組件,組件由根組件導入,但自己沒有導入組件(沒有子組件)。

細微差別

在測試這些之前,還有一些額外的細微差別值得一提:

  • Next 是否使用 React 服務端組件(RSC)。
  • Vite 是否使用 SWC 而不是 Babel 進行 React 轉換。

React 服務端組件

Next 13 引入了一個重大的架構轉變,現在的組件默認為服務端組件,除非用戶使用“use client”指令明確選擇客戶端模式。它不僅是默認設置,Next 文檔還建議用戶盡可能保持服務端模式,以提高最終用戶的性能。

第一輪測試(Next w/ RSC 和 Vite w/ Babel))

最初的基準測試是在服務端模式下使用根組件和葉子組件測量 Next 13 的 HMR 性能。結果表明,Next 13 在兩種情況下實際上都較慢,并且對于葉子組件而言差異顯著,測試方法和測試結果如下。

1、 測試方法

  1. 這兩個項目都是通過以下命令新創建的:
npx create-next-app@latest
npm init vite@latest # 選擇React預設
  1. 在每個項目中運行genFiles.(m)js 生成 1000 個組件,所有組件都被導入到應用的根組件中并一起渲染。
  2. 對于每個項目,在單獨的 Node 進程中運行watch.(m)js 以獲取文件更改的確切時間戳,這用于標記 HMR 的開始。
  3. 啟動項目,然后編輯以下文件以測試 HMR:
  • Next: app/page.js (根組件)  和 app/comp0.jsx (葉子組件)。
  • Vite: src/App.jsx (根組件) 和 src/components/comp0.jsx (葉子組件)。

已編輯的組件都在其輸出中包含 Date.now()。DOM 中最終渲染的時間戳用于標記 HMR 的完成。

2、測試結果

  • 記錄超過 5 次運行
  • 時間以毫秒為單位
  • 在 M1 Macbook Pro 上測試

圖片

第二輪測試(Next w/o RSC 和 Vite w/ Babel))

有人指出,應該在沒有 RSC(React 服務端組件)的情況下對 Next 組件進行基準測試以使其相等。因此,在 Next 根組件中添加了“use client”指令以選擇客戶端模式。事實上,在客戶端模式下,Next HMR 顯著改進,比 Vite 快 2 倍,測試方法和測試結果如下。

1、測試方法

  1. 這兩個項目都是通過以下命令新創建的:
npx create-next-app@latest
npm init vite@latest # 選擇React預設
  1. 在每個項目中運行genFiles.(m)js 以生成 1000 個組件。所有組件都被導入到應用的根組件中并一起渲染。
  2. 給 app/page.js 添加 use client 指令,使它以客戶端模式渲染。這是確保正確的比較所必需的,因為服務端組件會產生不小的 HMR 開銷(慢 4 倍)。
  3. 對于每個項目,在單獨的 Node 進程中運行watch.(m)js 以獲取文件更改的確切時間戳。這用于標記 HMR 的開始。
  4. 啟動項目,然后編輯以下文件以測試 HMR:
  • Next: app/page.js (根組件)  和 app/comp0.jsx (葉子組件)。
  • Vite: src/App.jsx (根組件) 和 src/components/comp0.jsx (葉子組件)。

2、測試結果

  • 記錄超過 5 次運行
  • 時間以毫秒為單位
  • 在 M1 Macbook Pro 上測試

圖片

SWC 與 Babel 轉換

我們的目標是讓基準只關注 HMR 性能差異,所以需要消除另一個變量:Vite 的默認 React 預設使用 Babel 來轉換 React HMR 和 JSX。

React HMR 和 JSX 轉換不是與構建工具耦合的特性,它可以通過 Babel(基于 JavaScript)或 SWC(基于 Rust)來完成。Esbuild 也可以轉換 JSX,但缺乏對 HMR 的支持。SWC 比 Babel 快得多(單線程時快 20 倍,多核時快 70 倍)。Vite 目前默認使用 Babel 的原因是安裝大小和實用性之間的權衡。SWC 的安裝量相當大(node_modules 中有 58 MB,而 Vite 只有 19 MB),并且許多用戶仍然依賴 Babel 進行其他轉換,因此 Babel 對他們來說是不可避免的。但是,這種情況在未來可能會發生改變。

Vite core 并不依賴 Babel,因此使用 SWC 而不是 Babel 來處理 React 轉換不需要在 Vite 中進行任何更改,只需將默認的 React 插件替換為 vite-plugin-swc-react-refresh。切換后可以看到,Vite 在根組件中有顯著提升,趕上了 Next:

圖片

有趣的是,這里的增長曲線顯示 Next/turbo 在根組件比葉子組件中慢 4 倍,而 Vite 只慢 2.4 倍。這意味著 Vite HMR 在更大的組件中可伸縮性更好。此外,切換到 SWC 還可以改善 Vite 在 Vercel 基準測試中的冷啟動指標。

不同硬件上的性能

由于這是一個涉及 Node.js 和原生 Rust 部分的復合基準測試,因此在不同的硬件上會有很大差異。以上結果是在 M1 MacBook Pro 上收集的。其他用戶在不同的硬件上運行相同的基準測試并報告了不同的結果。在某些情況下,Vite 在根組件情況下更快,而在其他情況下,Vite 在兩種情況下都明顯更快。

Vercel 的澄清

在尤大發布了自己的基準后,Vercel 發布了一篇博客文章,闡明了他們的基準方法,并將他們的基準提供給公眾驗證。閱讀文章和基準代碼后,以下是一些關鍵點:

  • Vite 實現仍然使用默認的基于 Babel 的 React 插件。
  • 1000 個組件案例的原始數字存在舍入問題——Turbopack 的 15ms 被舍入到 0.01s,而 Vite 的 87ms 被舍入到 0.09s。當原始數字接近 6 倍時,這進一步被宣傳為 10 倍的優勢。
  • Vercel 的基準測試使用更新模塊的“瀏覽器評估時間”作為結束時間戳,而不是 React 組件重新渲染時間。
  • 文章中的圖表顯示,當總模塊數超過 30k 時,Turbopack 可以比 Vite 快 10 倍。

總而言之,如果以下所有條件都成立,“比 Vite 快 10 倍”的說法是成立的:

  • Vite 沒有使用相同的 SWC 轉換。
  • 應用包含超過 30k 個模塊。
  • 基準測試只測量熱更新模塊的評估時間,而不是實際應用更改的時間。

什么是“公平”比較?

如果我們要比較的是“開箱即用的默認設置”,那么我們應該與 Next 中啟用的 RSC 進行比較,因為這是默認設置,也是 Next 積極鼓勵用戶使用的。由于 Vercel 的基準測試沒有使用 RSC,并且正在測量“模塊評估時間”,以排除 React 的 HMR 運行時引起的差異,因此可以公平地假設基準測試的目標是對 Vite 和 Turbopack 固有的 HMR 機制進行比較。

不幸的是,在這個前提下,Vite 仍然在基準測試中使用 Babel 使這個對比是不平等的。在 Vite 中使用 SWC 進行轉換更新對比結果之前,Turbopack 比 Vite 快 10 倍的結論是不準確的。

此外,我相信大多數人都會同意:

  • 對于絕大多數用戶來說,30k 模塊是極不可能的情況。使用 SWC 的 Vite,達到 10 倍要求所需的模塊數量可能會變得更加不切實際。雖然理論上是可行的,但用它來營銷 Turbopack 是不誠實的。
  • 與理論上的“模塊評估”時間相比,用戶更關心端到端 HMR 性能,即從保存到看到更改的時間。當看到“更新速度快 10 倍”時,普通用戶會想到前者而不是后者,Vercel 在其營銷中忽略了這一警告。實際上,Next 中服務端組件(默認)的端到端 HMR 比 Vite 中的慢。

作為 Vite 的作者,很高興看到像 Vercel 這樣資金雄厚的公司在改進前端工具方面進行了大量投資。在適用的情況下,甚至未來可能在 Vite 中利用 Turbopack。然而,開源工具的競爭應該建立在公開溝通、公平比較和相互尊重的基礎上,令人失望和擔憂的是,看到激進的營銷使用了精心挑選的、未經同行評審的、邊緣誤導性的數字,這些數字通常只在商業競爭中出現,相信 Vercel 可以做得更好。

相關鏈接

  • 原文:https://github.com/yyx990803/vite-vs-next-turbo-hmr/discussions/8。
  • 代碼:https://github.com/yyx990803/vite-vs-next-turbo-hmr。
責任編輯:姜華 來源: 前端充電寶
相關推薦

2022-11-08 15:19:49

軟件工具

2025-09-29 00:00:00

2025-10-29 01:00:00

2023-10-06 09:43:13

2024-10-09 14:07:05

2022-10-27 08:31:31

架構

2025-05-06 03:30:00

AIVueVite

2025-06-03 10:05:01

ViteVue 3.6前端

2024-03-06 07:28:23

Vue前端開發Vapor 模式

2024-03-08 08:40:25

2023-07-26 08:34:40

VueReact

2023-10-05 09:40:06

Next.jsTurbopackVite

2025-06-18 10:02:06

H3前端開發

2022-09-08 16:31:17

前端Web

2023-11-22 10:12:43

Sortablejs拖拽庫

2025-06-23 11:35:29

VormsVue 3代碼

2025-06-03 08:49:42

2025-03-11 00:42:10

2025-03-18 12:30:00

RubyJava語言

2025-05-06 13:44:17

Vue前端人工智能
點贊
收藏

51CTO技術棧公眾號

日本电影在线观看| 国产一区二区视频在线| 精品亚洲国内自在自线福利| 91精品国产一区二区三区香蕉| 久久伊人精品天天| av女优在线播放| 懂色av粉嫩av浪潮av| 午夜dj在线观看高清视频完整版| 麻豆亚洲精品| 欧美一区二区网站| 国产精品沙发午睡系列| 精品国产无码一区二区| 欧美美女一区| 亚洲.国产.中文慕字在线| 国产欧美日韩91| 亚洲区自拍偷拍| 牛牛精品一区二区| 国产成人综合自拍| 日韩中文在线不卡| 国产性生交xxxxx免费| 十八禁一区二区三区| 亚洲在线久久| 欧美三级韩国三级日本三斤| 欧美综合77777色婷婷| 国产对白videos麻豆高潮| 欧美a在线观看| 亚洲色图视频免费播放| 国产成人精品亚洲精品| 少妇饥渴放荡91麻豆| 欧美极品videos大乳护士| 中文字幕视频一区二区三区久| 国产成人亚洲综合青青| 九九精品在线观看视频| 亚洲网一区二区三区| 亚洲精品成a人| 99久久伊人精品影院| 欧美黄色一区二区三区| 欧美先锋资源| 7777精品伊人久久久大香线蕉| 亚洲精品一区二区三区蜜桃久| 中文字幕在线观看第二页| 成人久久久久| 亚洲精品电影久久久| 欧美 丝袜 自拍 制服 另类| 午夜国产在线视频| 久久久久在线| 国语自产在线不卡| 日韩av在线看免费观看| 国产成人免费| 亚洲精品老司机| 亚洲欧美日韩精品综合在线观看| 欧美一区二区视频| 六月丁香综合在线视频| 欧美成人激情视频免费观看| 四川一级毛毛片| 日韩123区| 亚洲男同1069视频| 国产精品一区在线观看| 久久国产视频一区| 日韩一区二区中文| 日韩一区二区在线观看视频| 日本手机在线视频| 亚洲wwwww| 亚洲一区二区三区视频在线播放| 九9re精品视频在线观看re6 | 国产亚洲欧美日韩日本| 国产精品视频专区| 最近中文字幕av| 国产精品xvideos88| 日韩不卡中文字幕| 午夜免费福利视频在线观看| 色呦呦在线视频| 亚洲精品中文字幕在线观看| 性做爰过程免费播放| 黑人精品一区二区三区| 人人超碰91尤物精品国产| 九九九久久久久久| mm131丰满少妇人体欣赏图| 日韩三级视频| 日韩亚洲欧美在线观看| 色哟哟免费视频| 经典三级一区二区| 亚洲一区二区三区视频在线播放| 国产一级大片免费看| 精品视频三区| www.性欧美| 成人福利网站在线观看11| 中文字幕第15页| 欧美日本一区| 日韩亚洲欧美成人| 90岁老太婆乱淫| 日韩1区2区| 插插插亚洲综合网| 久久草视频在线| 国产一区二区三区四区三区四 | 2019中文字幕在线电影免费| 国产精品美女一区二区在线观看| 精品国产乱码久久久久久丨区2区| 婷婷五月综合激情| 国产精品乱人伦一区二区| 真人做人试看60分钟免费| av在线天堂| 久久日韩精品一区二区五区| 99久久精品免费看国产四区| 午夜性色福利影院| 亚洲欧洲日韩av| 777久久久精品一区二区三区| h1515四虎成人| 精品日韩在线观看| 日本一区二区三区在线免费观看| 高清一区二区三区| 精品久久一区二区| 一区二区精品免费| 欧美精品一级| 国产精品视频99| 中文字幕福利视频| 盗摄精品av一区二区三区| 亚洲综合最新在线| 国产精品呻吟久久| 美女一区二区视频| 欧美性资源免费| 日韩成人高清视频| 国模少妇一区二区三区| 麻豆传媒一区| 国产综合在线观看| 亚洲福利视频导航| www.中文字幕在线| 日本免费精品| 精品久久人人做人人爽| 日本一二三不卡视频| 日韩国产一区二区三区| 97免费在线视频| 国产精品久久久久久久久久久久久久久久久 | 亚洲精品在线二区| 国内精品视频久久| 国产精品嫩草影院精东| 国产欧美日韩卡一| 在线观看亚洲视频啊啊啊啊| 亚洲成人三级| 亚洲欧美另类在线| 爱情岛论坛亚洲首页入口章节| 色噜噜成人av在线| 欧美一区二区视频在线观看2022 | 中文字幕的久久| 一区二区三区免费看| 国产淫片在线观看| 亚洲国产精品一区二区www| 亚洲一区精品视频在线观看| 欧美日韩水蜜桃| 国产精品av在线播放| 青青草在线视频免费观看| 午夜精品免费在线| 这里只有精品在线观看视频 | 超碰在线cao| 色偷偷88欧美精品久久久| 992kp快乐看片永久免费网址| 另类一区二区| 精品国产1区2区3区| 在线观看日本中文字幕| 亚洲在线成人| 91最新在线免费观看| 日本不卡三区| 午夜精品一区二区三区电影天堂 | 成人黄色小视频在线观看| 久久久精品国产一区二区三区| 大地资源中文在线观看免费版| 欧美色道久久88综合亚洲精品| 亚洲精品第三页| 日韩av资源网| 日韩中文字幕视频在线观看| 伊人22222| 亚洲激情一二三区| 800av在线播放| 久久精品影视| 日本精品一区二区三区在线| 精品毛片一区二区三区| 亚洲午夜日本在线观看| 800av在线播放| 日韩制服丝袜av| 国产精品久久国产三级国电话系列 | 国产精品正在播放| 日本在线视频不卡| 国产高清在线a视频大全| 欧美日韩一本到| 老熟妻内射精品一区| 日韩中文字幕麻豆| 国产又黄又爽免费视频| 日韩毛片在线| 亚洲精品一区在线观看香蕉 | 亚洲午夜影视影院在线观看| 黄色正能量网站| 国产精品vip| 久久99导航| 久久国产三级| 国产69精品久久久久9999| 精品资源在线看| 日韩一区二区三区精品视频| 波多野结衣视频网站| 亚洲欧洲日产国产综合网| 成人在线视频免费播放| 捆绑调教美女网站视频一区| 国产肉体ⅹxxx137大胆| 精品国产三级| 日本不卡免费高清视频| 日本在线一二三| 欧美精三区欧美精三区| 婷婷国产成人精品视频| 日本sm残虐另类| 800av在线免费观看| 欧美色网址大全| 国产欧美精品一区二区三区| 欧美xxxxhdvideosex| 亚洲午夜精品久久久久久性色| 午夜婷婷在线观看| 亚洲欧美日韩一区二区| 扒开jk护士狂揉免费| 成人性色生活片免费看爆迷你毛片| 人人爽人人av| 亚洲乱码久久| avove在线观看| 成人在线国产| 久久综合久久久| 最新国产精品精品视频| 91精品视频一区| av毛片在线| 日韩精品一区二区三区视频播放| 九九热最新地址| 国产电影一区在线| 污污网站免费观看| 欧美/亚洲一区| 国产日韩精品推荐| 麻豆精品国产| 成人精品网站在线观看| 国产一区二区主播在线| 欧洲s码亚洲m码精品一区| bl视频在线免费观看| 久久的精品视频| 免费黄色在线看| 在线国产精品播放| 草逼视频免费看| 91精品国产综合久久精品| 一区二区三区免费在线视频| 亚洲国产成人av| 国产av 一区二区三区| 中文字幕在线不卡一区二区三区| 精品人妻一区二区三区免费| 精品一区二区免费| 91免费黄视频| 欧美精品麻豆| 日韩a级黄色片| 911精品美国片911久久久| 中文字幕剧情在线观看一区| 日韩在线二区| 热这里只有精品| 在线成人直播| 欧美 日韩 国产精品| 欧美一区综合| www.亚洲成人网| 亚洲精品九九| 男人和女人啪啪网站| 国产精品久久久久久模特 | 少妇欧美激情一区二区三区| 紧缚捆绑精品一区二区| 99999精品| 国产91精品露脸国语对白| av观看免费在线| 亚洲女同中文字幕| 欧美三级午夜理伦三级老人| 在线成人超碰| 日韩精品―中文字幕| 免费在线成人| 国产精品一区二区小说| 国精品**一区二区三区在线蜜桃 | 亚洲人成亚洲人成在线观看| 国产又粗又猛又爽又黄91| 9191成人精品久久| 亚洲乱色熟女一区二区三区| 在线观看日韩毛片| 日本三级中文字幕| 色先锋aa成人| 国产精品福利电影| 亚洲电影av在线| 国产精品怡红院| 精品999在线播放| 可以在线观看的黄色| 亚洲精品一区二区三区福利| 手机在线观看毛片| 中文字幕日韩高清| 撸视在线观看免费视频| 久久精品视频导航| yw193.com尤物在线| 久久影视电视剧免费网站清宫辞电视 | 一级片免费网址| 欧美伊人久久大香线蕉综合69| 好吊操这里只有精品| 在线观看区一区二| www.成人在线观看| 一区二区在线视频播放| 日韩另类在线| 国产精品网红福利| 爱爱精品视频| 亚洲影视九九影院在线观看| 精品精品国产毛片在线看| 国产 高清 精品 在线 a| 韩国一区二区三区视频| 久久久www免费人成黑人精品| 99精品在线| eeuss中文| 免费一区视频| 国产免费无码一区二区| 国产不卡在线播放| 在线观看日本中文字幕| 亚洲一区二区五区| 亚洲天堂手机在线| 91麻豆精品国产综合久久久久久 | 懂色av粉嫩av蜜臀av| 欧美亚洲免费| 国产精品日日摸夜夜爽| 国产suv精品一区二区6| 91视频免费在观看| 午夜在线成人av| 国产富婆一级全黄大片| 欧美一个色资源| 国产女人在线观看| 色妞在线综合亚洲欧美| 原纱央莉成人av片| 国产精品第一第二| 看片一区二区| 日本视频一区二区不卡| 国产精品久久久久久模特| 美女日批在线观看| 亚洲免费三区一区二区| 一级aaaa毛片| 一区二区亚洲欧洲国产日韩| 欧美成人黑人| 91精品久久久久久久久久入口| 在线日本制服中文欧美| 亚洲国产一区二区精品视频| 亚洲综合三区| 四虎永久免费影院| 激情久久av一区av二区av三区 | 欧美三级在线播放| 九九在线视频| 国产91在线播放精品91| 亚洲v天堂v手机在线| 91专区在线观看| 日本免费新一区视频| 双性尿奴穿贞c带憋尿| 激情成人在线视频| 日韩精品视频无播放器在线看 | 最近看过的日韩成人| 麻豆91精品视频| frxxee中国xxx麻豆hd| 亚洲一级不卡视频| av 一区二区三区| 欧美成人精品在线| 久久九九精品视频| 91精品国产毛片武则天| 粉嫩一区二区三区在线看| 久久精品国产亚洲AV无码麻豆| 欧美日韩国产综合视频在线观看中文| 日韩欧美国产另类| 日韩免费性生活视频播放| 中国av在线播放| www国产亚洲精品| 在线看片日韩| 亚洲天堂国产视频| 亚洲乱码一区二区三区在线观看| 国产精品人人妻人人爽| 欧美第一页在线| 老司机精品视频网| 裸体裸乳免费看| 国产精品羞羞答答xxdd| 国产无遮挡aaa片爽爽| 日韩精品在线视频观看| 色综合一本到久久亚洲91| 亚洲欧洲一区二区福利| 国产精品影音先锋| 可以免费看的av毛片| 中文字幕日韩在线观看| 亚洲国产精品免费视频| 国产网站免费在线观看| 中文字幕欧美日韩一区| 国产视频手机在线| 国产一区二区美女视频| 久久精品超碰| 9色porny| 国产日韩一级二级三级| 国产女主播福利| 91精品国产91久久久久久不卡| 免费一级欧美片在线观看网站| 欧美黄网在线观看| 久久蜜臀中文字幕| 国产美女永久免费| 2019中文字幕免费视频| 9999国产精品| 超碰网在线观看| 91美女蜜桃在线| 日本在线小视频| 亚洲一二在线观看|