WebAssembly 2.0 Preview e Tloaelehileng e Fumaneha

W3C e phatlalalitse moralo oa litlhaloso tse ncha tse tiisang WebAssembly 2.0 middleware le API e amanang le eona, e nolofalletsang ho theha lits'ebetso tse sebetsang hantle tse nkehang ho pholletsa le libatli le sethala sa hardware. WebAssembly e fana ka khoutu e ikemetseng ea sebatli, ea bokahohleng, e maemong a tlase bakeng sa lits'ebetso tse hlophisitsoeng ho tsoa lipuong tse fapaneng tsa mananeo. Ka ho sebelisa JIT bakeng sa WebAssembly, o ka fihlela maemo a ts'ebetso haufi le khoutu ea lehae.

Theknoloji ea WebAssembly e ka sebelisoa ho etsa mesebetsi e sebetsang hantle ho sebatli, joalo ka khouto ea video, ts'ebetso ea molumo, lits'oants'o le manollo ea 3D, nts'etsopele ea lipapali, ts'ebetso ea cryptographic le lipalo tsa lipalo ka ho lumella khoutu e ngotsoeng ka lipuo tse hlophisitsoeng joalo ka C/C++ .

Har'a lipheo tsa mantlha tsa WebAssembly ke ho netefatsa hore o khona ho nkeha, boitšoaro bo ka lebelloang esale pele le ts'ebetso e ts'oanang ea khoutu lipolaneteng tse fapaneng. Haufinyane tjena, WebAssembly e boetse e khothalelitsoe e le sethala sa lefats'e sa ho etsa khoutu e bolokehileng ho pholletsa le meaho efe kapa efe, sistimi e sebetsang, le sesebelisoa, eseng feela ho libatli.

W3C e phatlalalitse litlhaloso tse tharo tsa moralo bakeng sa WebAssembly 2.0:

  • WebAssembly Core - E hlalosa mochini o sebetsang oa boemo bo tlase bakeng sa ho tsamaisa khoutu ea mahareng ea WebAssembly. Lisebelisoa tse amanang le WebAssembly li romelloa ka mokhoa oa ".wasm", o tšoanang le lifaele tsa ".class" ho Java, tse nang le lintlha tse tsitsitseng le likarolo tsa khoutu bakeng sa ho sebetsa le data eo.
  • WebAssembly JavaScript Interface - E fana ka API bakeng sa ho hokahana le JavaScript. E u lumella ho fumana litekanyetso le ho fetisa liparamente ho mesebetsi ea WebAssembly. Ts'ebetso ea WebAssembly e latela mohlala oa ts'ireletso ea JavaScript mme tšebelisano eohle le sistimi e kholo e etsoa ka mokhoa o ts'oanang le ho etsa khoutu ea JavaScript.
  • WebAssembly Web API - E hlalosa sebopeho sa mananeo se ipapisitseng le mokhoa oa Tšepiso oa ho kopa le ho phethahatsa lisebelisoa tsa ".wasm". Sebopeho sa lisebelisoa tsa WebAssembly se ntlafalitsoe ho qala ts'ebetsong ntle le ho emela hore faele e kene ka botlalo, e leng ho ntlafatsang karabelo ea lits'ebetso tsa webo.

Liphetoho tse kholo ho WebAssembly 2.0 ha li bapisoa le mofuta oa pele oa maemo:

  • Ts'ehetso bakeng sa mofuta oa li-vector tsa v128 le litaelo tse amanang le vector tse u lumellang ho etsa liketso ho latela litekanyetso tse ngata tsa linomoro ka ho bapa (SIMD, data e le 'ngoe ea litaelo tse ngata).
  • Bokhoni ba ho kenya le ho romela kantle ho mefuta e fapaneng ea lefats'e, e lumellang tlamo ea lefats'e bakeng sa boleng bo joalo ka li-stack pointer ho C++.
  • Litaelo tse ncha tsa float to int conversion tseo, ho e-na le ho etsa mokhelo ha sephetho se khaphatseha, se khutlisa boleng bo tlase kapa bo phahameng bo ka khonehang (bo hlokahalang bakeng sa SIMD).
  • Litaelo tsa katoloso ea matšoao a linomoro (ho eketsa botebo ba palo ha u ntse u boloka letšoao le boleng).
  • Ts'ehetso bakeng sa li-block le mesebetsi e khutlisetsang boleng bo bongata (ntle le ho fetisa liparamente tse ngata mesebetsing).
  • Ho kenngwa tshebetsong ha mesebetsi ya BigInt64Array le BigUint64Array JavaScript ho fetolela pakeng tsa mofuta wa BigInt JavaScript le kemedi ya WebAssembly ya 64-bit integers.
  • Tšehetso bakeng sa mefuta ea litšupiso (funcref le externref) le litaelo tse amanang le tsona (khetha, ref.null, ref.func le ref.is_null).
  • Memory.copy, memory.fill, memory.init, le data.drop ditaelo bakeng sa ho kopitsa data dipakeng tsa dibaka tsa memori le ho phumula dikgaolo tsa memori.
  • Litaelo tsa ho fihlella ka kotloloho le ho fetola litafole (tafole.set, table.get, table.size, table.grow). Bokhoni ba ho theha, ho kenya le ho romela litafole tse ngata mojulung o le mong. Mesebetsi ea ho kopitsa / ho tlatsa litafole ka mokhoa oa batch (tafole.copy, table.init le elem.drop).

Source: opennet.ru

Eketsa ka tlhaloso