WebAssembly 2.0 -standardin luonnos julkaistu 

W3C paljasti äskettäin julkaisussa, luonnos uudesta eritelmästä joka standardoi valmistuskoodin WebAssembly 2.0 ja siihen liittyvä API mahdollistaa korkean suorituskyvyn sovellusten luomisen, jotka ovat kannettavia selaimissa ja laitteistoympäristöissä.

Niiden, jotka ovat uusia WebAssemblyn käyttäjiä, sinun pitäisi tietää tämä tämä tarjoaa yleisen väliohjelmiston, matala taso ja selaimesta riippumaton, käännettyjen sovellusten suorittamiseen eri ohjelmointikielistä. Käyttämällä JIT for WebAssemblya voit saavuttaa suoritustason, joka on lähellä alkuperäistä koodia.

Tietoja WebAssemblysta

WebAssembly Sitä voidaan käyttää korkean suorituskyvyn tehtäviin selaimessa, kuten videokoodaus, äänenkäsittely, 3D- ja grafiikkakäsittely, pelien kehittäminen, salaustoiminnot ja matemaattiset laskelmat, suorittamalla koodia, joka on kirjoitettu käännetyillä kielillä, kuten C/C++.

WebAssemblyn päätehtäviin kuuluu siirrettävyyden, käyttäytymisen ennakoitavuuden ja koodin suorituksen identiteetin tarjoaminen eri alustoilla. Viime aikoina WebAssemblya on myös mainostettu universaalina alustana turvalliseen koodin suorittamiseen kaikissa infrastruktuurissa, käyttöjärjestelmissä ja laitteissa, ei rajoitu selaimiin.

WebAssembly 2.0:n luonnoksesta

WebAssemblyn jälkeen tehtyjen muutosten osalta valmiit ehdotukset WebAssembly 2.0:lle ovat kiinteän leveyden SIMD, massamuistitoiminnot, viitetyypit, JavaScript BigInt -tuki WebAssembly i64:lle, tuki useille palautusarvoille ja muunnettavien tiedostojen tuonti/vienti globaaleja muuttujia.

W3C on julkaissut kolme WebAssembly 2.0 -spesifikaatioluonnosta:

  1. Web Assembly -ydin: kuvataan matalan tason virtuaalinen kone käynnissä väli WebAssembly koodi. Resurssit liittyvät WebAssembly tulla ".wasm" -muodossa, samanlainen Java ".class" -tiedostot, jotka sisältävät staattiseen ja koodin segmenttien työskennellä että tiedot.
  2. WebAssembly JavaScript -käyttöliittymä: tarjoaa API:n integrointia varten JavaScriptin kanssa. Voit saada arvoja ja välittää parametreja WebAssembly-funktioille. WebAssembly-suoritus noudattaa JavaScript-suojausmallia, ja kaikki vuorovaikutus isäntäkoneen kanssa suoritetaan samalla tavalla kuin JavaScript-koodin suorittaminen.
  3. WebAssembly Web -sovellusliittymä: määrittää Promise-mekanismiin perustuvan API:n .wasm-resurssien pyytämiseen ja suorittamiseen. WebAssembly-resurssimuoto on optimoitu aloittamaan suoritus odottamatta tiedoston täydellistä latausta, mikä parantaa verkkosovellusten reagointikykyä.

Erot WebAssemblyn ja WebAssembly 2.0:n välillä

On myös huomattava, että WebAssembly 2.0:ssa on joitain tärkeitä muutoksia verrattuna standardin ensimmäiseen versioon:

  • v128 vektorityypin tuki ja siihen liittyvät vektorin ohjeita, joiden avulla voit suorittaa toimintansa useita numeerisia arvoja rinnakkain (SIMD, yksi käsky, monta dataa).
  • Mahdollisuus tuoda ja viedä muuttuvia globaaleja muuttujia, joka mahdollistaa arvojen globaalin sitomisen pinoosoittimina C++:ssa.
  • Uudet ohjeet floatin muuntamiseen int:ksi, joka sen sijaan, että heittäisi poikkeuksen tulosten ylivuotoon, palauttaa pienimmän tai suurimman mahdollisen arvon (pakollinen SIMD:lle).
  • Ohjeet kokonaislukujen merkin laajentamiseen (lisää luvun bittisyvyyttä säilyttäen etumerkin ja arvon).
  • Tuki useiden arvojen palauttamiseen lohkojen ja funktioiden mukaan (sekä useiden parametrien välittäminen funktioille).
  • Toteuta JavaScript-funktiot BigInt64Array ja BigUint64Array muuntaa JavaScript-tyypin BigInt ja 64-bittisten kokonaislukujen WebAssembly-esityksen välillä.
  • Tuki viitetyypeille (funcref ja externref) ja niihin liittyvät lauseet (select, ref.null, ref.func ja ref.is_null).
  • memory.copy-, memory.fill-, memory.init- ja data.drop-ohjeet kopioidaksesi tietoja muistialueiden välillä ja tyhjentääksesi muistialueita.
  • Ohjeet taulukoiden suorakäyttöön ja muokkaamiseen (table.set, table.get, table.size, table.grow).
  • Mahdollisuus luoda, tuoda ja viedä useita taulukoita yhdessä moduulissa. Toiminnot taulukoiden kopioimiseen/täyttöön erätilassa (table.copy, table.init ja elem.drop).

Lopuksi, jos haluat tietää enemmän siitä, voit tutustua yksityiskohtiin Seuraavassa linkissä.


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastaa tiedoista: AB Internet Networks 2008 SL
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.