WebCynulliad 2.0 Rhagolwg Safonol Ar Gael

Mae'r W3C wedi cyhoeddi drafft o fanyleb newydd sy'n safoni offer canol WebAssembly 2.0 a'i API cysylltiedig, gan alluogi creu cymwysiadau perfformiad uchel sy'n gludadwy ar draws porwyr a llwyfannau caledwedd. Mae WebAssembly yn darparu cod canolradd lefel isel sy'n annibynnol ar borwr ar gyfer rhedeg rhaglenni a luniwyd o ieithoedd rhaglennu amrywiol. Trwy ddefnyddio JIT ar gyfer WebAssembly, gallwch gyflawni lefelau perfformiad sy'n agos at god brodorol.

Gellir defnyddio technoleg WebCynulliad i gyflawni tasgau perfformiad uchel yn y porwr, megis amgodio fideo, prosesu sain, graffeg a thrin 3D, datblygu gemau, gweithrediadau cryptograffig a chyfrifiadau mathemategol trwy ganiatáu cod wedi'i ysgrifennu mewn ieithoedd a luniwyd fel C/C++ .

Ymhlith prif nodau WebAssembly mae sicrhau hygludedd, ymddygiad rhagweladwy a gweithredu cod union yr un fath ar wahanol lwyfannau. Yn ddiweddar, mae WebAssembly hefyd wedi cael ei hyrwyddo fel llwyfan cyffredinol ar gyfer gweithredu cod yn ddiogel ar draws unrhyw seilwaith, system weithredu, a dyfais, heb fod yn gyfyngedig i borwyr.

Mae’r W3C wedi cyhoeddi tair manyleb ddrafft ar gyfer WebAssembly 2.0:

  • WebAssembly Core - Yn disgrifio peiriant rhithwir lefel isel ar gyfer rhedeg cod canolraddol WebAssembly. Mae adnoddau sy'n gysylltiedig â WebAssembly yn cael eu cyflwyno mewn fformat ".wasm", tebyg i ffeiliau ".class" yn Java, sy'n cynnwys data statig a segmentau cod ar gyfer gweithio gyda'r data hwnnw.
  • WebAssembly JavaScript Interface - Yn darparu API ar gyfer integreiddio â JavaScript. Yn eich galluogi i dderbyn gwerthoedd a phasio paramedrau i swyddogaethau WebAssembly. Mae gweithredu WebAssembly yn dilyn model diogelwch JavaScript ac mae'r holl ryngweithio â'r brif system yn cael ei wneud yn yr un modd â gweithredu cod JavaScript.
  • WebAssembly Web API - Yn diffinio rhyngwyneb rhaglennu yn seiliedig ar fecanwaith Addewid ar gyfer gofyn am adnoddau ".wasm" a'u gweithredu. Mae fformat adnoddau WebAssembly wedi'i optimeiddio i ddechrau gweithredu heb aros i'r ffeil lwytho'n llawn, sy'n gwella ymatebolrwydd cymwysiadau gwe.

Y prif newidiadau yn WebAssembly 2.0 o gymharu â fersiwn gyntaf y safon:

  • Cefnogaeth i'r math fector v128 a chyfarwyddiadau fector cysylltiedig sy'n eich galluogi i berfformio gweithredoedd ar werthoedd rhifol lluosog yn gyfochrog (SIMD, data lluosog cyfarwyddyd sengl).
  • Y gallu i fewnforio ac allforio newidynnau byd-eang mutable, gan ganiatáu rhwymo byd-eang ar gyfer gwerthoedd fel pwyntiau stac yn C++.
  • Cyfarwyddiadau trosi fflôt i int newydd sydd, yn lle taflu eithriad pan fydd y canlyniad yn gorlifo, yn dychwelyd y gwerth lleiaf neu uchaf posibl (sy'n angenrheidiol ar gyfer SIMD).
  • Cyfarwyddiadau ar gyfer ehangu arwyddion cyfanrifau (cynyddu dyfnder didau rhif wrth gynnal arwydd a gwerth).
  • Cefnogaeth ar gyfer blociau a swyddogaethau sy'n dychwelyd gwerthoedd lluosog (yn ogystal â throsglwyddo paramedrau lluosog i swyddogaethau).
  • Gweithredu swyddogaethau JavaScript BigInt64Array a BigUint64Array i drosi rhwng y math BigInt JavaScript a chynrychiolaeth WebAssembly o gyfanrifau 64-bit.
  • Cefnogaeth i fathau o gyfeiriadau (funcref ac externref) a'u cyfarwyddiadau cysylltiedig (dewiswch, ref.null, ref.func a ref.is_null).
  • Memory.copy, memory.fill, memory.init, a data.drop cyfarwyddiadau ar gyfer copïo data rhwng rhanbarthau cof a chlirio rhanbarthau cof.
  • Cyfarwyddiadau ar gyfer cyrchu ac addasu tablau yn uniongyrchol (table.set, table.get, table.size, table.grow). Y gallu i greu, mewnforio ac allforio tablau lluosog mewn un modiwl. Swyddogaethau ar gyfer copïo/llenwi tablau yn y modd swp (table.copy, table.init ac elem.drop).

Ffynhonnell: opennet.ru

Ychwanegu sylw