webassembly阮一峰 在Firefox中,如何加快JavaScript和WebAssembly代碼的調(diào)用時間?
在Firefox中,如何加快JavaScript和WebAssembly代碼的調(diào)用時間?以前,Mozilla一直使用C幫助理解webassembly代碼并將其傳遞給JavaScript代碼。我們在入口
在Firefox中,如何加快JavaScript和WebAssembly代碼的調(diào)用時間?
以前,Mozilla一直使用C幫助理解webassembly代碼并將其傳遞給JavaScript代碼。
我們在入口存根上運(yùn)行C代碼,以便JIT代碼可以直接調(diào)用它。
當(dāng)引擎從JavaScript切換到webassembly時,它會解壓條目存根值并將其放在正確的位置。
如果您對內(nèi)部工作原理的改變感興趣,請不要錯過Mozilla寫的這篇易懂的博文(帶有有趣的插圖和注釋)。
既然Javascript有這么多缺陷,那為什么人們不參考它的功能開發(fā)一門新語言而是一直對它修改呢?
JavaScript語言只花了十天時間就設(shè)計好了,自然的設(shè)計并不完美。甚至,一旦頁面打開,彈出的小廣告,都是用JS完成的。隨著Google地圖等應(yīng)用程序的發(fā)布,AJAX技術(shù)徹底火了JS,很多應(yīng)用程序使用AJAX,最重要的技術(shù)就是JavaScript。
盡管JavaScript有缺陷,但它仍在不斷升級。經(jīng)過不斷的改進(jìn),現(xiàn)在的JS應(yīng)該說是優(yōu)秀的。隨著大前端時代的到來,節(jié)點(diǎn).js, 虛擬用戶.js等等技術(shù),也讓JS的地位不可動搖。想要完全取代JS,不是一夜之間。微軟推出了typescript,谷歌推出了dart來取代JS,但現(xiàn)在看來還有很長的路要走。
沒有語言是完美的,就像沒有人是完美的一樣。程序員只需要找到最合適的語言。在未來,也許有一天,一種新的語言將取代JavaScript。
國內(nèi)外有多少公司在使用Rust做開發(fā)?
如果一種語言想成為主流,語言本身的特點(diǎn)并不是最重要的。從語言在過去十年中的發(fā)展來看,正是這個項目給語言帶來了火。例如,F(xiàn)acebook的興起直接給PHP帶來了火爆,而quora的流行則讓Python進(jìn)入了公眾的視野。深度學(xué)習(xí)平臺tensorflow的普及,將Python推到了目前的王者地位,如block隨著以太坊的普及,go語言已經(jīng)成為主流的開發(fā)語言。近日,F(xiàn)acebook推出了天秤座硬幣項目,引起了全世界的關(guān)注。可以說它即將引領(lǐng)金融技術(shù)領(lǐng)域的革命,而這個平臺的底層開發(fā)語言正是由rust語言開發(fā)的。隨著Libra幣的流行,可以預(yù)見rust語言也將利用這一趨勢進(jìn)入主流編程語言。