女人荫蒂被添全过程13种图片,亚洲+欧美+在线,欧洲精品无码一区二区三区 ,在厨房拨开内裤进入毛片

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

程序員神器VS Code再提速將內(nèi)置JS減小20%!

OSC開源社區(qū) ? 來源:OSC開源社區(qū) ? 2023-07-30 09:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Visual Studio Code 最近將其內(nèi)置的 JavaScript 大小減少了 20%,節(jié)省了超過 3.9 MB。這種減少不僅降低了下載和存儲(chǔ)需求,而且由于在運(yùn)行 JavaScript 之前需要掃描的源代碼更少,因此也提高了啟動(dòng)速度。這個(gè)減小是通過一個(gè)新的構(gòu)建步驟 “名稱混淆壓縮” 實(shí)現(xiàn)的,而非刪除任何代碼或進(jìn)行重大重構(gòu)。

ff3bf892-2e16-11ee-815d-dac502259ad0.png? ff621108-2e16-11ee-815d-dac502259ad0.png

workbench.js 隨時(shí)間變化大小,右側(cè)兩個(gè)下降點(diǎn):VS Code 1.74 第一大跌幅結(jié)果來源于混淆壓縮私有屬性,VS Code 1.80 第二小跌幅來源于混淆壓縮 export。

混淆壓縮私有屬性

混淆壓縮源碼后 JavaScript 仍包含許多長標(biāo)識(shí)符名稱如 extensionIgnoredRecommendationsService。作者本來以為 esbuild 已經(jīng)將這些標(biāo)識(shí)符簡化了,比如:

const someLongVariableName = 123;

console.log(someLongVariableName);

變?yōu)楦痰模?/p>

const x = 123;

console.log(x);

由于 JavaScript 以源文本形式發(fā)布,減少標(biāo)識(shí)符名稱的長度實(shí)際上可以減小程序的大小。這種優(yōu)化可能看起來有些荒謬,但在 JavaScript 世界里確實(shí)頂瓜瓜。

盡管 esbuild 實(shí)現(xiàn)了混淆功能,默認(rèn)情況下只有當(dāng)確定混淆不會(huì)改變代碼行為時(shí)才對(duì)名稱進(jìn)行處理。

因此,在實(shí)踐中,esbuild 只對(duì)局部變量名和參數(shù)名進(jìn)行處理。

也就是說,esbuild 這種保守策略意味著許多無法確認(rèn)是否安全修改名稱被忽略了。

怎么辦呢?

作者團(tuán)隊(duì)最終利用 TypeScript 對(duì)混淆代碼進(jìn)行驗(yàn)證,正如 TypeScript 可以在常規(guī)代碼中捕獲未知的屬性訪問一樣,TypeScript 編譯器能夠捕獲到一個(gè)屬性已經(jīng)被混淆但對(duì)它的引用沒有正確更新的情況。

解決思路:可以將 TypeScript 源碼進(jìn)行混淆,然后使用被改變標(biāo)識(shí)符名稱的新 TypeScript 進(jìn)行編譯。這種方式會(huì)使得對(duì)于是否無意間破壞了代碼有更高的把握。

同時(shí),通過使用 TypeScript,可以真正找到所有私有屬性(而不是僅以 _ 開始的屬性),甚至還可以利用 TypeScript 的現(xiàn)有重命名功能來智能地重命名符號(hào),而不會(huì)意外改變對(duì)象形狀。

他們提出了新的大致工作流程: 使用 TypeScript's AST 針對(duì)每個(gè)在代碼庫中發(fā)現(xiàn)的私有或受保護(hù)屬性:

如果該屬性需要被修改:

通過尋找未使用過的符號(hào)名稱計(jì)算出一個(gè)新名稱

使用 TypeScript 生成所有引用該屬性的重命名編輯 將所有重命名編輯應(yīng)用于 TypeScript 源碼 編譯帶有修改過名稱的新編輯過的 Typescript 資源 結(jié)果大部分有效。

當(dāng)然,也有一些例外需要處理:

當(dāng)前類內(nèi)唯一性并不能滿足要求,在超類和子類之間也必須具備唯一性。根本原因是 TypeScripts 私有關(guān)鍵字只是一個(gè)編譯時(shí)裝飾器,并不能真正防止超級(jí)和子類訪問私有屬性。

如果不小心處理,則可能導(dǎo)致重新命名時(shí)產(chǎn)生名稱沖突(幸運(yùn)地是 Typescript 將其報(bào)告為錯(cuò)誤)。

在某些情況下,子類公開繼承自父類受保護(hù)權(quán)限,在很多例子里面都屬于錯(cuò)誤操作,需要禁止此處進(jìn)行混淆。

這樣構(gòu)建成功后,混淆私有屬性后 VS Code 主要 workbench.js 文件大小從 12.3MB 降低至 10.6MB , 減少近 14%。這也帶來 5% 加載速度提高,因?yàn)樾枰獟呙栉谋玖繙p少。

混淆壓縮 export

另一方面,其實(shí) provideWorkspaceTrustExtensionProposals 等長名字,或者 localize 函數(shù)(用于 UI 顯示字符串)明顯還有改善空間。

針對(duì)它的處理是:導(dǎo)出符號(hào)名稱。只要導(dǎo)出僅供內(nèi)部使用,就可以縮短它們而不改變代碼行為。

最終,經(jīng)過優(yōu)化,總體上文件比沒有進(jìn)行名稱壓縮小了 20%。

在整個(gè) VS Code 中,名稱壓縮從編譯源碼移除 3.9MB JavaScript 代碼,這既降低了下載大小和安裝大小,也使每次啟動(dòng) VS Code 需要掃描 JS 代碼量減少 3.9MB。





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • JAVA語言
    +關(guān)注

    關(guān)注

    0

    文章

    138

    瀏覽量

    20661
  • javascript
    +關(guān)注

    關(guān)注

    0

    文章

    525

    瀏覽量

    54704
  • AST
    AST
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

    2397
  • vscode
    +關(guān)注

    關(guān)注

    1

    文章

    169

    瀏覽量

    8458

原文標(biāo)題:程序員神器VS Code再提速,將內(nèi)置JS減小20%!

文章出處:【微信號(hào):OSC開源社區(qū),微信公眾號(hào):OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何在VS Code中使用瑞薩RA系列MCU

    VS Code(Visual Studio Code)是微軟公司出品,它是一個(gè)免費(fèi)且多功能的代碼編輯器,幾乎支持所有主要的編程語言和框架。特別是最近又新加了Github Copilot功能,讓用戶
    的頭像 發(fā)表于 04-16 14:02 ?2748次閱讀
    如何在<b class='flag-5'>VS</b> <b class='flag-5'>Code</b>中使用瑞薩RA系列MCU

    阿里云升級(jí)通義靈碼AI程序員,全面上線

    近日,阿里云宣布其備受矚目的通義靈碼AI程序員已正式全面上線,為開發(fā)者帶來更為強(qiáng)大和便捷的編程輔助工具。 此次上線的通義靈碼AI程序員,在功能上實(shí)現(xiàn)了全面升級(jí)。現(xiàn)在,它支持VS Code
    的頭像 發(fā)表于 01-09 11:16 ?697次閱讀

    使用MCUXpresso for VS Code插件開發(fā)Zephyr的hello world

    本期來到Zephyr實(shí)戰(zhàn)經(jīng)驗(yàn)演練,小編帶著大家一起使用MCUXpresso for VS Code插件來開發(fā)一個(gè)屬于Zephyr的hello world。
    的頭像 發(fā)表于 01-03 09:21 ?1226次閱讀
    使用MCUXpresso for <b class='flag-5'>VS</b> <b class='flag-5'>Code</b>插件開發(fā)Zephyr的hello world

    TMS320C6000程序員指南

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000程序員指南.pdf》資料免費(fèi)下載
    發(fā)表于 12-24 17:19 ?0次下載
    TMS320C6000<b class='flag-5'>程序員</b>指南

    TMS320C55x DSP CPU程序員參考補(bǔ)充

    電子發(fā)燒友網(wǎng)站提供《TMS320C55x DSP CPU程序員參考補(bǔ)充.pdf》資料免費(fèi)下載
    發(fā)表于 12-21 11:36 ?3次下載
    TMS320C55x DSP CPU<b class='flag-5'>程序員</b>參考補(bǔ)充

    Zephyr領(lǐng)進(jìn)門系列:MCUXPresso for VS Code插件安裝

    VS Code正在走進(jìn)廣大程序員的心中。 下載地址:https://code.??visualstudio??.com/download 2. 安裝
    的頭像 發(fā)表于 12-19 09:53 ?1981次閱讀
    Zephyr領(lǐng)進(jìn)門系列:MCUXPresso for <b class='flag-5'>VS</b> <b class='flag-5'>Code</b>插件安裝

    UCD3138A64/UCD3138128程序員手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《UCD3138A64/UCD3138128程序員手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 12-09 14:42 ?0次下載
    UCD3138A64/UCD3138128<b class='flag-5'>程序員</b>手冊(cè)

    ?IAR C-SPY為VS Code社區(qū)樹立調(diào)試新標(biāo)準(zhǔn)

    全球領(lǐng)先的嵌入式系統(tǒng)開發(fā)軟件解決方案供應(yīng)商IAR宣布,對(duì)VS Code中的調(diào)試擴(kuò)展IAR C-SPY調(diào)試器進(jìn)行了重大升級(jí)。此次升級(jí)引入了IAR的Listwindow技術(shù),進(jìn)一步提升了調(diào)試能力,使IAR C-SPY調(diào)試器在VS
    的頭像 發(fā)表于 12-06 10:27 ?682次閱讀

    機(jī)械革命發(fā)布CODE AI程序員

    近日,英特爾新質(zhì)生產(chǎn)力技術(shù)生態(tài)大會(huì)在成都舉行,機(jī)械革命作為重要參展商帶來了多款明星產(chǎn)品引爆全場(chǎng)!其中更是在AI PC軟件生態(tài)產(chǎn)品發(fā)布分論壇上,Intel、智譜、機(jī)械革命三方聯(lián)合發(fā)布了專為程序員設(shè)計(jì)的CODE AI程序員本,成為本
    的頭像 發(fā)表于 11-30 10:34 ?1077次閱讀

    Linux驅(qū)動(dòng)程序程序員指南

    電子發(fā)燒友網(wǎng)站提供《Linux驅(qū)動(dòng)程序程序員指南.pdf》資料免費(fèi)下載
    發(fā)表于 11-22 15:53 ?0次下載
    Linux驅(qū)動(dòng)<b class='flag-5'>程序</b><b class='flag-5'>程序員</b>指南

    AI編程工具會(huì)不會(huì)搶程序員飯碗

    AI編程工具可輔助編程,減少手動(dòng)編碼,提升效率,對(duì)程序員有積極影響也有挑戰(zhàn)。程序員需深化技能、拓寬知識(shí)應(yīng)對(duì)。長遠(yuǎn)看,AI與人類程序員將共生共榮。
    的頭像 發(fā)表于 11-08 10:17 ?520次閱讀

    第五屆長沙·中國1024程序員節(jié)開幕

    據(jù)官方媒體報(bào)道,10月24日;? 第五屆長沙·中國1024程序員節(jié)在湖南湘江新區(qū)開幕;本次中國1024程序員節(jié)以“智能應(yīng)用新生態(tài)”為主題。設(shè)置有岳麓對(duì)話、技術(shù)英雄會(huì)、主題峰會(huì)及賽事、展覽等活動(dòng),一場(chǎng)
    的頭像 發(fā)表于 10-25 15:42 ?480次閱讀

    Microchip發(fā)布面向VS Code的MPLAB擴(kuò)展早期體驗(yàn)版本

    為充分利用Microsoft Visual Studio Code (VS Code) 的多功能性,Microchip Technology(微芯科技公司)發(fā)布面向VS
    的頭像 發(fā)表于 08-28 10:01 ?1150次閱讀

    京東上萬程序員都AI用它!

    對(duì)大模型生成代碼進(jìn)行智能修復(fù),為程序員開啟代碼漏洞修復(fù)的“自動(dòng)駕駛”模式,不但減少人工接入、提高工作效率,更為企業(yè)抵御內(nèi)外部各種攻擊構(gòu)建起一道堅(jiān)固的安全屏障,確保業(yè)務(wù)的連續(xù)性和穩(wěn)定性。 JoyCoder是京東云自主研發(fā)的一款輔助開發(fā)人員
    的頭像 發(fā)表于 07-17 16:29 ?487次閱讀
    京東上萬<b class='flag-5'>程序員</b>都AI用它!

    程序員節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎(jiǎng)

    10月24日,程序員專屬的節(jié)日里,我們盛大開啟“程序員節(jié)視頻創(chuàng)意大賽”特別活動(dòng)!這不僅是一場(chǎng)視覺的盛宴,更是智慧與創(chuàng)意的璀璨碰撞。我們誠摯邀請(qǐng)每一位程序員及編程愛好者,拿起你的鏡頭,記錄下那些平凡日子中的不凡瞬間,讓編程的魅力與
    的頭像 發(fā)表于 07-08 10:38 ?72次閱讀
    <b class='flag-5'>程序員</b>節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎(jiǎng)
    主站蜘蛛池模板: 凌云县| 江源县| 达拉特旗| 灵川县| 安福县| 玛沁县| 汝南县| 神池县| 洛南县| 工布江达县| 阿图什市| 娄底市| 通榆县| 肥乡县| 博野县| 固安县| 平定县| 原平市| 抚宁县| 鹤庆县| 堆龙德庆县| 安溪县| 钟祥市| 南平市| 怀仁县| 伊通| 洮南市| 汝城县| 南投市| 剑河县| 永善县| 正阳县| 灵川县| 新竹县| 吉隆县| 布拖县| 绥德县| 睢宁县| 岢岚县| 乌兰浩特市| 稷山县|