您現在的位置是:首頁 >要聞 > 2021-09-01 23:05:12 來源:
字節碼聯盟希望將二進制應用程序帶入您的瀏覽器
導讀 早在2015年,包括谷歌、微軟、Mozilla和WebKit項目在內的財團就宣布了WebAssembly。本周,Mozilla、英特爾、紅帽和Fastly宣布成立一個名為
早在2015年,包括谷歌、微軟、Mozilla和WebKit項目在內的財團就宣布了WebAssembly。本周,Mozilla、英特爾、紅帽和Fastly宣布成立一個名為字節碼聯盟的新聯盟,旨在推動WebAssembly和其他“新軟件基礎”的發展,這將允許不受信任的代碼在內部運行,或者在默認安全的情況下在內部運行。在網絡瀏覽器環境之外。
對于許多人來說,這提出了一個顯而易見的問題:什么是網絡組裝?WebAssembly(wasm)過去是,現在也可能是一個令人興奮的項目。它提供了一種在瀏覽器中運行本機字節碼的方法,與當時和現在使用的Javascript引擎相比,這可能會大大提高性能。
Javascript經常被誤解為運行時解釋的腳本語言。雖然它通常作為源代碼加載到瀏覽器中,但它可以被解釋或編譯成字節碼并執行。編譯意味著更高的執行性能(尤其是在緊循環中),但也意味著啟動JIT編譯本身所需的時間將受到啟動的懲罰。
實際上,Javascript JIT還有很多其他功能,包括不同的編譯器模式、專門化、優化和拯救。如果你需要更多的細節,Mozilla的林克拉克已經為hacks.mozilla.org寫了一個很好且易讀的解釋。
為了消除JIT編譯帶來的損失,Mozilla引入了asm.js,asm.js是Javascript的一個特殊子集,最常被用作C. AC語言等重載編程語言的源到源編譯目標,程序被交叉編譯成ASM . js,并在預(AOT)編譯的字節碼塊中運行(根據Mozilla的說法),這通常在用Clang編譯的c代碼的本機性能的50%或更好的范圍內。