I-WebAssembly 2.0 Ukuhlola Okujwayelekile Okujwayelekile Kuyatholakala

I-W3C ishicilele okusalungiswa kokucaciswa okusha okulinganisa i-WebAssembly 2.0 middleware kanye ne-API yayo ehlobene, okuvumela ukudalwa kwezinhlelo zokusebenza ezisebenza kahle kakhulu eziphathwayo kuzo zonke iziphequluli nezinkundla zehadiwe. I-WebAssembly ihlinzeka ngekhodi emaphakathi engazimele, yendawo yonke, enezinga eliphansi yokusebenzisa izinhlelo zokusebenza ezihlanganiswe ngezilimi ezihlukahlukene zokuhlela. Ngokusebenzisa i-JIT ye-WebAssembly, ungafinyelela amazinga okusebenza eduze nekhodi yomdabu.

Ubuchwepheshe beWebAssembly bungasetshenziswa ukwenza imisebenzi esebenza kahle kakhulu esipheqululini, njengombhalo wekhodi wevidiyo, ukucutshungulwa komsindo, ihluzo kanye nokukhohlisa kwe-3D, ukuthuthukiswa komdlalo, ukusebenza kwe-cryptographic kanye nokubala kwezibalo ngokuvumela ikhodi ebhalwe ngezilimi ezihlanganisiwe ezifana ne-C/C++ .

Phakathi kwezinjongo eziyinhloko ze-WebAssembly ukuqinisekisa ukuphatheka, ukuziphatha okungabikezelwa kanye nokwenziwa kwekhodi efanayo kumapulatifomu ahlukene. Muva nje, i-WebAssembly iphinde yathuthukiswa njengenkundla yendawo yonke yokusebenzisa ikhodi ngokuphephile kuyo yonke ingqalasizinda, isistimu yokusebenza, nedivayisi, engagcini nje kuziphequluli.

I-W3C ishicilele imininingwane emithathu esalungiswa yeWebAssembly 2.0:

  • I-WebAssembly Core - Ichaza umshini obonakalayo osezingeni eliphansi wokusebenzisa ikhodi ephakathi ye-WebAssembly. Izinsiza ezihlotshaniswa ne-WebAssembly zilethwa ngefomethi ethi ".wasm", efana namafayela ".class" ku-Java, aqukethe idatha engaguquki kanye namasegimenti ekhodi okusebenza ngaleyo datha.
  • I-WebAssembly JavaScript Interface - Ihlinzeka nge-API ukuze ihlanganiswe ne-JavaScript. Ikuvumela ukuthi uthole amanani futhi udlulise amapharamitha emisebenzini ye-WebAssembly. Ukwenziwa kwe-WebAssembly kulandela imodeli yokuphepha ye-JavaScript futhi konke ukusebenzisana nesistimu eyinhloko kwenziwa ngendlela efanayo nokwenziwa kwekhodi ye-JavaScript.
  • I-WebAssembly Web API - Ichaza isixhumi esibonakalayo sokuhlela esisekelwe endleleni Yesithembiso yokucela nokusebenzisa izinsiza ze-".wasm". Ifomethi yensiza ye-WebAssembly ithuthukisiwe ukuze iqale ukusebenza ngaphandle kokulinda ifayela ukuthi lilayishe ngokugcwele, okuthuthukisa ukusabela kwezinhlelo zokusebenza zewebhu.

Izinguquko ezinkulu ku-WebAssembly 2.0 uma ziqhathaniswa nenguqulo yokuqala yezinga:

  • Ukusekelwa kohlobo lwevekhtha ye-v128 nemiyalo ye-vector ehlobene ekuvumela ukuthi wenze izenzo ngamavelu ezinombolo eziningi ngokuhambisana (i-SIMD, idatha yomyalelo owodwa owodwa).
  • Ikhono lokungenisa nokuthekelisa okuguquguqukayo komhlaba jikelele, okuvumela ukubophezela komhlaba wonke kumanani afana nezikhombi zesitaki ku-C++.
  • Imiyalelo yokuguqulwa kwe-float entsha iye ku-int okuthi, esikhundleni sokuphonsa okuhlukile lapho umphumela uchichima, ibuyisele inani elincane noma eliphezulu elingenzeka (elidingekayo ku-SIMD).
  • Imiyalo yokwandiswa kophawu lwamanani aphelele (okukhulisa ukujula kancane kwenombolo kuyilapho kugcinwa uphawu nenani).
  • Ukusekelwa kwamabhulokhi nemisebenzi ebuyisela amanani amaningi (ngaphezu kokudlulisa amapharamitha amaningi emisebenzini).
  • Ukusetshenziswa kwemisebenzi ye-BigInt64Array kanye ne-BigUint64Array JavaScript ukuze kuguqulwe phakathi kohlobo lwe-BigInt JavaScript nokumelwa kwe-WebAssembly yama-integer angu-64-bit.
  • Ukusekelwa kwezinhlobo zereferensi (i-funcref ne-externref) kanye neziqondiso ezihambisana nazo (khetha, ref.null, ref.func kanye ne-ref.is_null).
  • I-Memory.copy, memory.fill, memory.init, kanye nedatha.drop imiyalelo yokukopisha idatha phakathi kwezifunda zememori nokusula izifunda zememori.
  • Imiyalo yokufinyelela ngokuqondile kanye nokulungisa amathebula (table.set, table.get, table.size, table.grow). Ikhono lokudala, ukungenisa nokuthekelisa amathebula amaningi kumojula eyodwa. Imisebenzi yokukopisha/ukugcwalisa amathebula kumodi yenqwaba (table.copy, table.init kanye ne-elem.drop).

Source: opennet.ru

Engeza amazwana