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

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

JavaScript 地位不保!WasmGC 將成為下一個“網紅”?

來源: 責編: 時間:2023-11-10 17:12:46 367觀看
導讀整理 | 太冷不穿格子衫 出品 | 51CTO技術棧(微信號:blog51cto)早在 2017 年,主流瀏覽器都已經支持 WebAssembly。隨著 WebAssembly 的蓬勃發展,各種編程語言也在增加對它的支持。2021 年,WebAssembly 開源項目開始支持 Wasm

整理 | 太冷不穿格子衫 GaB28資訊網——每日最新資訊28at.com

出品 | 51CTO技術棧(微信號:blog51cto)GaB28資訊網——每日最新資訊28at.com

早在 2017 年,主流瀏覽器都已經支持 WebAssembly。隨著 WebAssembly 的蓬勃發展,各種編程語言也在增加對它的支持。2021 年,WebAssembly 開源項目開始支持 WasmGC(垃圾回收),為實現 WebAssembly 支持像 Java、Kotlin 這樣的前端語言做準備。同年,Kotlin 程序語言開發團隊更新了發展路線,其中的一個重點就是增加 WebAssembly 支持。GaB28資訊網——每日最新資訊28at.com

近日,谷歌在Chrome中啟用了WebAssembly的垃圾回收功能,這一舉動很可能成為一個風向標,引領更多 Web 開發人員使用WasmGC。GaB28資訊網——每日最新資訊28at.com

WasmGC 到底有多厲害?能讓連續 11 年被評為最流行開發語言的 JavaScript “地位不保”?WebAssembly 允許開發人員使用 JavaScript 以外的高性能編程語言來開發 Web 應用程序。Wasm 中的垃圾回收功能更是“錦上添花”,可以讓虛擬機自動管理內存,一定程度上減輕了開發人員的負擔,讓他們更加專注于 Web 應用程序核心功能的開發。GaB28資訊網——每日最新資訊28at.com

軟件開發人員Eloff在X上發帖稱:“WebAssembly GC意義非凡,可以脫離 Web 端,在搭載了不同硬件和操作系統的各個平臺運行,真正實現了“一次編譯,多處運行”。GaB28資訊網——每日最新資訊28at.com

1、WasmGC 到底有多厲害

將語言移植到新的體系結構通常需要重新編譯 VM,作為一項新技術,WasmGC 允許開發人員定義結構體和數組類型并執行操作,例如創建它們的實例、讀取和寫入字段、在類型之間進行轉換等。GaB28資訊網——每日最新資訊28at.com

這些對象由 Wasm VM 自己的 GC 實現來管理,這是該方法與傳統移植方法之間的主要區別。如果傳統的移植方法是將一種語言移植到一種架構,那么 WasmGC 方法與如何將一種語言移植到一個虛擬機非常相似。例如,如果你想將 Java 移植到 JavaScript,那么可以使用像 J2CL 這樣的編譯器,它將 Java 對象表示為 JavaScript 對象,然后這些 JavaScript 對象就像所有其他對象一樣由 JavaScript VM 管理。GaB28資訊網——每日最新資訊28at.com

WasmGC 比傳統的 WasmMVP 移植優先級更高,并能夠與目標 VM 進行更緊密的集成。WasmGC 與之前編譯為線性內存的方法 (WasmMVP) 相比,可以實現更好的優化:GaB28資訊網——每日最新資訊28at.com

  • 在編譯時和運行時進行優化,例如間接調用的推測內聯。性能測量結果表明,推測性內聯可使編譯后的 Java 代碼顯著提速 30%。
  • WasmGC 比 WasmMVP 更可優化,因為它在更高級別上運行,跟蹤對象引用。
  • 雖然 WasmGC 可能需要在某些語言的語義上做出妥協,但它可以提供更小的代碼大小和更好的性能等好處。

2、JavaScript“地位不保”

在 WebAssembly 出現之前,JavaScript 是少數可用于開發 Web 應用程序的編程語言之一,擁有超過63%的用戶,它是現代 Web 開發的基礎,提供了易用性、廣泛的支持以及與瀏覽器 DOM 的無縫集成。但它并非那么完美,尤其在應對復雜程序的開發時,會顯得有點“力不從心”。GaB28資訊網——每日最新資訊28at.com

HackerNews 上的一位用戶表示:“JavaScript 似乎不再是唯一的’寵兒‘了。”GaB28資訊網——每日最新資訊28at.com

這種說法不無道理。畢竟在 Web 開發過程中,無論是性能還是速度,WasmGC 都明顯略勝一籌。GaB28資訊網——每日最新資訊28at.com

首先,與 JavaScript 相比,Wasm 由 C 和 C++等語言編譯而來,使得它的執行速度更快;其次,WebAssembly 對于各種平臺有很強的適應性,確保了它的可移植性;此外,WebAssembly 中的沙盒環境通過將其與其他瀏覽器組件隔離來提高安全性,彌補了 JavaScript 有潛在安全隱患的短板。GaB28資訊網——每日最新資訊28at.com

WebAssembly 的垃圾回收功能是在 2017 年提出的。然而,大部分工作是在過去三年完成的。隨著越來越多的用戶使用 WebAssembly ,Chrome、Edge 和 Firefox 都將 WebAssembly 作為默認選項。GaB28資訊網——每日最新資訊28at.com

與 JavaScript 不同,Wasm 代碼可以針對各種硬件架構進行編譯,從而確保了跨不同設備和平臺的可移植性。此外,它支持多種編程語言,允許它們之間進行無縫交互。GaB28資訊網——每日最新資訊28at.com

Wasm 主要在沙盒環境中執行,這樣就與主瀏覽器線程隔離開來,通過限制對系統資源的未經授權的訪問來提高安全性。這是兩種語言之間的主要區別。而且大多數網絡攻擊都發生在瀏覽器上,Wasm 也更具安全優勢。Wasm 代碼還通過不可讀的隱蔽性提高了安全性,這使得攻擊者更難以對代碼進行逆向工程,從而更難以發現和利用漏洞。GaB28資訊網——每日最新資訊28at.com

JupiterOne首席信息安全官Sounil Yu表示:“Wasm的指令集有限,而且有更好的內存管理,這有助于減少漏洞,比如緩沖區溢出。”GaB28資訊網——每日最新資訊28at.com

2022 年的調查表明,67% 的受訪者經常使用 WebAssembly,相比 2021 年的 47% 有了大幅提升。如今,WebAssembly 主要用于構建流量最大的站點,WasmGC 的出現無疑會推動WebAssembly 的普及和發展。GaB28資訊網——每日最新資訊28at.com

參考鏈接:

https://analyticsindiamag.com/how-wasmgc-will-change-the-developer-experience/GaB28資訊網——每日最新資訊28at.com

https://zhuanlan.zhihu.com/p/606835492GaB28資訊網——每日最新資訊28at.com

https://zhuanlan.zhihu.com/p/665119591GaB28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-20063-0.htmlJavaScript 地位不保!WasmGC 將成為下一個“網紅”?

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

上一篇: C++中 bitset 詳解

下一篇: 基于安防攝像頭的慢直播技術淺析

標簽:
  • 熱門焦點
Top 主站蜘蛛池模板: 开封市| 蓝田县| 宣威市| 延安市| 来凤县| 甘洛县| 札达县| 精河县| 台山市| 东宁县| 孝义市| 柳江县| 乌拉特后旗| 石阡县| 黄大仙区| 大荔县| 比如县| 鹰潭市| 岳阳市| 乌鲁木齐市| 繁峙县| 龙江县| 洛宁县| 遂平县| 罗甸县| 子长县| 庆云县| 平阳县| 缙云县| 阜阳市| 杭锦后旗| 靖宇县| 汶川县| 桐柏县| 克东县| 清新县| 故城县| 文登市| 鄂温| 巴彦淖尔市| 霍城县|