WebAssembly 2.0 Horudhac Heerka La Heli Karaa

W3C waxay daabacday qabyo qeexid cusub oo jaangooyay WebAssembly 2.0 middleware iyo API-ga laxiriira, taasoo awood u siinaya abuurista codsiyada waxqabadka sare leh ee la qaadi karo guud ahaan daalacashada iyo aaladaha qalabka. WebAssembly waxay bixisaa kood dhexdhexaad ah oo madax-banaan, caalami ah, heer hoose ah oo loogu talagalay socodsiinta codsiyada laga soo ururiyay luqadaha barnaamijyada kala duwan. Adigoo isticmaalaya JIT WebAssembly, waxaad ku gaari kartaa heerar waxqabad oo u dhow koodka hooyo.

Tiknoolajiyada WebAssembly waxaa loo isticmaali karaa in lagu qabto hawlo waxqabad sare leh oo browserka ah, sida codaynta fiidiyowga, habaynta maqalka, sawirada iyo khalkhalgelinta 3D, horumarinta ciyaarta, hawlgallada qarsoodiga ah iyo xisaabinta xisaabta iyadoo loo oggolaanayo kood ku qoran luqado la soo ururiyey sida C/C++ .

Waxaa ka mid ah yoolalka ugu muhiimsan ee WebAssembly waa hubinta la qaadi karo, habdhaqan la saadaalin karo iyo fulinta kood isku midka ah ee aaladaha kala duwan. Dhawaan, WebAssembly ayaa sidoo kale loo dalacsiiyay sidii madal caalami ah oo loogu talagalay fulinta kood sugan ee dhammaan kaabayaasha, nidaamyada hawlgalka iyo aaladaha, oo aan ku xaddidnayn daalacashada.

W3C waxay daabacday saddex tilmaamood oo qabyo ah oo loogu talagalay WebAssembly 2.0:

  • WebAssembly Core - Wuxuu qeexayaa mashiinka farsamada gacanta ee hooseeya ee socodsiinta koodka dhexe ee WebAssembly. Ilaha la xidhiidha WebAssembly waxaa lagu bixiyaa qaab ".wasm", oo la mid ah ".class" faylasha Java, oo ka kooban xog aan caadi ahayn iyo qaybo code ah oo loogu talagalay ku shaqeynta xogtaas.
  • Interface WebAssembly JavaScript - Waxay siisaa API-ga la dhexgalka JavaScript. Waxay kuu ogolaanaysaa inaad hesho qiyamka oo aad u gudbiso xuduudaha hawlaha WebAssembly. Fulinta WebAssembly waxay raacdaa qaabka amniga JavaScript iyo dhammaan isdhexgalka nidaamka ugu muhiimsan waxaa loo fuliyaa si la mid ah fulinta code JavaScript.
  • WebAssembly Web API - Wuxuu qeexayaa is dhex galka barnaamijka ee ku saleysan habka Ballanqaadka ee codsiga iyo fulinta kheyraadka ".wasm". Qaabka kheyraadka WebAssembly waa la hagaajiyay si uu u bilaabo fulinta iyada oo aan la sugin in feylku si buuxda u soo xareeyo, taas oo wanaajisa ka jawaabista codsiyada webka.

Isbeddellada ugu waaweyn ee WebAssembly 2.0 marka la barbar dhigo nooca koowaad ee heerka:

  • Taageerada nooca vector-ka v128 iyo tilmaamaha vector-ka ee laxiriira ee kuu oggolaanaya inaad sameyso ficillo qiimayaal tiro badan oo isbarbar socda (SIMD, hal tilmaamid xog badan).
  • Awoodda soo dejinta iyo dhoofinta doorsoomayaal caalami ah oo la beddeli karo, taas oo u oggolaanaysa ku-xidhka caalamiga ah in lagu dabaqo qiyamka sida tilmaamayaasha dulsaarka ee C++.
  • Sabbayn cusub oo tilmaamaha beddelka int, taas oo, halkii aad ka tuuri lahayd wax ka reeban marka natiijadu buuxdhaafto, soo celiso ugu yar ama ugu badnaan qiimaha suurtagalka ah (lagama maarmaan u ah SIMD).
  • Tilmaamaha balaarinta calaamadaha is-goysyada (kordhinta qoto dheer ee lambarka iyadoo la ilaalinayo calaamadda iyo qiimaha).
  • Taageerada blocks iyo hawlaha soo celinta qiyamka badan (marka lagu daro u gudbinta xuduudaha badan hawlaha).
  • Hirgelinta BigInt64Array iyo BigUint64Array JavaScript hawlaha si loogu beddelo inta u dhaxaysa nooca BigInt JavaScript iyo matalaada WebAssembly ee 64-bit .
  • Taageerada noocyada tixraaca (funcref iyo externref) iyo tilmaamaha la xidhiidha (dooro, ref.null, ref.func iyo ref.is_null).
  • Memory.copy, memory.fill, memory.init, iyo data.Drop tilmaamaha koobiyaynta xogta u dhaxaysa gobollada xusuusta iyo nadiifinta gobollada xusuusta.
  • Tilmaamaha gelitaanka tooska ah iyo wax ka beddelka miisaska (table.set, table.get, table.size, table.koritaanka). Awoodda abuurista, soo dejinta iyo dhoofinta miisas badan oo hal module ah. Hawlaha koobiyeynta/buuxinta miisaska qaabka dufcada (table.copy, table.init iyo elem.drop).

Source: opennet.ru

Add a comment