建議對WebAssembly進行的重大更改

2021-10-06 09:13:27 字數 701 閱讀 9750

webassembly是一種備受吹捧的二進位制格式,旨在加快web應用程式的速度,它計畫新增多值功能,使函式能夠返回許多值,並帶來**大小的好處和新的指令可能性。

該提案將取消對函式的當前限制,這些函式只能返回零或乙個值,而指令blocks(例如blocksifsloops不能消耗堆疊值,而只能產生零個或單個結果堆疊值。

[ 同樣在infoworld上:什麼是ci / cd?

持續整合和持續交付的解釋

] 根據mozilla和bytecode alliance發布的公告 ,有了這些限制,函式可以返回任意數量的值,指令序列可以生成任意數量的堆疊值。 多值也是wasm介面型別的先決條件, wasm介面型別描述了諸如記錄,序列和字串之類的高階值。

多值計畫背後的動機是,函式的多個返回值可以對值返回的元組或結構進行拆箱,並可以高效地編譯多個返回值。 另外,迴圈標籤可以有引數,並且可以在輸入的指令中進行巨集定義,這是github上的正式建議 。

] 實現多值將使該語言的結構和文字格式不受影響。 二進位制格式需要進行更改,以允許將功能型別用作塊型別。 當前的臨時編碼必須擴充套件為允許引用函式型別。 開發商nick fitzgerald表示,他已經為rust和webassembly工具鏈以及wasmtime webassembly執行時中的板條箱新增了多值支援。

from:

對LoginRequiredMixin進行重寫

首先我們要知道繼承自loginrequiredmixin的檢視類會怎樣走,未登入,會執行 handle no permission函式,登陸了,就直接繼續執行函式下邊的 如 class usercenterinfoview loginrequiredmixin,view def get self,r...

array multisort對多維陣列進行排序

一 先看最簡單的情況。有兩個陣列 arr1 array 1,9,5 arr2 array 6,2,4 array multisort arr1,arr2 print r arr1 得到的順序是1,5,9 print r arr2 得到的順序是6,4,2 兩個陣列的值自始至終都是對應著的 1對應6,9...

android使用tinker對app進行熱修復

專案裡包含了lib的原始碼和sample,下下來,然後開啟tinker sample android 修改mainactivity中textview android id id textview android layout width wrap content android layout hei...