日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

Vue 又更新了,性能大幅提升!

來源: 責編: 時間:2023-11-28 09:37:09 221觀看
導讀11 月 25 日,Vue 發布了 3.3.9 版本,該版本除了解決了一些 Bug 之外,最重要的是對編譯器性能進行了優化,使得編譯速度大幅提升,下面就來詳細看一下吧!編譯器性能優化SFC 編譯速度整體提高 44%基于使用 Elk 存儲庫中的所有 S

11 月 25 日,Vue 發布了 3.3.9 版本,該版本除了解決了一些 Bug 之外,最重要的是對編譯器性能進行了優化,使得編譯速度大幅提升,下面就來詳細看一下吧!G6q28資訊網——每日最新資訊28at.com

編譯器性能優化

SFC 編譯速度整體提高 44%

基于使用 Elk 存儲庫中的所有 SFC 文件完成的基準測試,這應該在很大程度上代表了現實世界的應用:G6q28資訊網——每日最新資訊28at.com

benching with:- 225 files- isProd: true- sourceMap: true- 3 warmup runs- 10 bench runsold compiler: 1513msnew compiler: 845msnew compiler is 44.15% faster.---benching with:- 225 files- isProd: true- sourceMap: true- 5 warmup runs- 20 bench runsold compiler: 2872msnew compiler: 1618msnew compiler is 43.66% faster.

注意:此基準測試僅測量@vue/compiler-sfc解析 SFC 文件并將其轉換為JavaScript和 source map 所花費的時間。它不包括 CSS 處理、JavaScript打包和代碼壓縮。因此,對整個項目構建時間的影響可能不會那么顯著,但仍然可以注意到。G6q28資訊網——每日最新資訊28at.com

解析速度提高 100%

解析器完全重寫,速度提高了100%。也就是說,與舊解析器相比,解析相同的模板它僅需要一半的時間。G6q28資訊網——每日最新資訊28at.com

舊解析器是一個遞歸下降解析器,使用了大量的正則表達式和低效的前瞻搜索。G6q28資訊網——每日最新資訊28at.com

新解析器使用了從htmlparser2 fork 出來的有限狀態機標記器。它以線性方式迭代處理輸入,具有最小的前瞻和回溯,并且在很大程度上減少了對正則表達式的依賴。G6q28資訊網——每日最新資訊28at.com

代碼生成速度提高 40%

優化了行/列計算

以前,每次調用CodegenContext.push都涉及迭代已推入的字符串,以檢查換行符,以記錄用于 source map 生成的正確行和列位置。分析表明,這個迭代在advancePositionWithMutation()中進行,導致了非常大的開銷。在本次優化中,如果預先知道換行符的存在或位置,則可以跳過字符串迭代。G6q28資訊網——每日最新資訊28at.com

優化了 source map 生成

SourceMapGenerator.addMapping花費了大量時間來規范化和驗證輸入參數。考慮到我們知道提供的是確切參數,可以通過直接添加映射來避免這個開銷。G6q28資訊網——每日最新資訊28at.com

消除SFC模板的雙重解析和 source map 開銷

與普通的Vue模板相比,SFC解析具有一些不同的要求:除<template>以外的所有根級標簽的內容應被視為純文本,這是由于需要支持自定義塊。對于<template>仍然需要進行完整的標簽結構解析,因為內部可能有嵌套的<template>標簽,但是由于舊解析器選項的設計方式,生成的AST不能在模板編譯中重復使用。G6q28資訊網——每日最新資訊28at.com

這意味著對于每個SFC,我們需要執行兩個解析調用:一個用于SFC塊,一個用于實際的模板內容。此外,由于第二個模板解析是在已提取的內容上執行的,我們需要重新映射其 source map 位置,使其相對于整個SFC。這實際上非常昂貴,應該避免。G6q28資訊網——每日最新資訊28at.com

新的解析器通過將SFC解析邏輯視為一級關注點來解決了這個問題。結果,可以直接重用<template>塊的AST進行后續的轉換和代碼生成,并且還可以避免昂貴的 source map 重新映射。G6q28資訊網——每日最新資訊28at.com

API 變更

重構引入了對 AST 格式和@vue/compiler-core解析器選項的一些次要更改。這些屬性和選項主要在內部使用,或者在自定義編譯器中使用(這些是非常高級的用例),因此它們不應影響大多數最終用戶。G6q28資訊網——每日最新資訊28at.com

AST 格式更改

  • 刪除屬性:ElementNode.selfClosingTag

除了舊解析器在解析階段使用該屬性外,該屬性從未在其他任何地方使用過,因此為了AST的簡潔性,已將其刪除。G6q28資訊網——每日最新資訊28at.com

解析器選項變更

  • 新增選項:parseMode

類型:'base' | 'html' | 'sfc'G6q28資訊網——每日最新資訊28at.com

默認值:'base'G6q28資訊網——每日最新資訊28at.com

為了最大化性能,處理HTML特定行為的一些邏輯(例如在<script>標記內部處理內容)直接在標簽生成器中處理。這種行為在默認的'base'模式下被禁用。G6q28資訊網——每日最新資訊28at.com

在'sfc'模式下,除<template>以外的所有根級標簽中的內容都被視為純文本,而<template>的內容則以'html'模式進行解析。G6q28資訊網——每日最新資訊28at.com

  • 新增選項:ns

可以使用此新選項在解析模板時指定根名稱空間。G6q28資訊網——每日最新資訊28at.com

  • 刪除選項:getTextMode

此選項的等效邏輯已經硬編碼到標簽生成器中,以獲得更好的性能。理論上,這確實消除了一些靈活性,因為無法定義應視為純文本容器的替代標記列表,但在實踐中并不存在這種用例。G6q28資訊網——每日最新資訊28at.com

大小增加

重構導致運行時編譯器略微增大。全局構建大小的變化,包括編譯器和運行時(min+brotli):44.5kb => 46.4kb(+1.9kb)。考慮到性能改進以及大小增加不會影響使用構建步驟的項目,這是可以接受的。G6q28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-34677-0.htmlVue 又更新了,性能大幅提升!

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Android使用SharedPreferences存儲輕量級持久化數據

下一篇: 超高效,使用Terraform創建Docker鏡像和容器

標簽:
  • 熱門焦點
  • Redmi Buds 4開箱簡評:才199還有降噪 可以無腦入

    在上個月舉辦的Redmi Note11T Pro系列新機發布會上,除了兩款手機新品之外,Redmi還帶來了兩款TWS真無線藍牙耳機產品,Redmi Buds 4和Redmi Buds 4 Pro,此前我們在Redmi Note11T
  • 女孩租房開2小時空調用完100元電費引熱議:5級能耗惹不起 月薪過萬電費也交不起

    近日,江蘇蘇州一女孩租房當天充值了100元電費,開著空調不到2小時發現電費已用完。對于為什么這個快,房東表示,電表壞了這種情況很多,之前也遇到過,給租客換
  • 2023 年的 Node.js 生態系統

    隨著技術的不斷演進和創新,Node.js 在 2023 年達到了一個新的高度。Node.js 擁有一個龐大的生態系統,可以幫助開發人員更快地實現復雜的應用。本文就來看看 Node.js 最新的生
  • 從 Pulsar Client 的原理到它的監控面板

    背景前段時間業務團隊偶爾會碰到一些 Pulsar 使用的問題,比如消息阻塞不消費了、生產者消息發送緩慢等各種問題。雖然我們有個監控頁面可以根據 topic 維度查看他的發送狀態,
  • JavaScript學習 -AES加密算法

    引言在當今數字化時代,前端應用程序扮演著重要角色,用戶的敏感數據經常在前端進行加密和解密操作。然而,這樣的操作在網絡傳輸和存儲中可能會受到惡意攻擊的威脅。為了確保數據
  • 虛擬鍵盤 API 的妙用

    你是否在遇到過這樣的問題:移動設備上有一個固定元素,當激活虛擬鍵盤時,該元素被隱藏在了鍵盤下方?多年來,這一直是 Web 上的默認行為,在本文中,我們將探討這個問題、為什么會發生
  • Temu起訴SHEIN,跨境電商戰事升級

    來源 | 伯虎財經(bohuFN)作者 | 陳平安日前據外媒報道,拼多多旗下跨境電商平臺Temu正對競爭對手SHEIN提起新訴訟,訴狀稱Shein&ldquo;利用市場支配力量強迫服裝廠商與之簽訂獨家
  • 網傳小米汽車開始篩選交付中心 建筑面積不低于3000平方米

    7月7日消息,近日有微博網友@長三角行健者爆料稱,據經銷商集團反饋,小米汽車目前已經開始了交付中心的篩選工作,要求候選場地至少有120個車位,建筑不能低
  • 英特爾Xe-HP項目終止,將專注Xe-HPC/HPG系列顯卡

    據10 月 31 日消息報道,英特爾高級副總裁兼加速計算系統和圖形事業部總經理 表示,Xe-HP“ Arctic Sound” 系列服務器 GPU 已經應用于 oneAPI devcloud 云服
Top 主站蜘蛛池模板: 衡水市| 晋州市| 东安县| 巴中市| 石城县| 武安市| 肥乡县| 万宁市| 平谷区| 共和县| 武陟县| 龙江县| 固阳县| 宜州市| 榆社县| 漯河市| 陕西省| 阿拉尔市| 吉首市| 蕉岭县| 黄平县| 大兴区| 焉耆| 庄浪县| 扎鲁特旗| 南通市| 大洼县| 金乡县| 红原县| 商丘市| 新干县| 新化县| 东乌珠穆沁旗| 隆化县| 拉孜县| 盈江县| 中牟县| 如皋市| 綦江县| 砀山县| 邛崃市|