Vydaný návrh štandardu WebAssembly 2.0 

W3C predstavený Nedávno prostredníctvom príspevku návrh novej špecifikácie ktorý štandardizuje kód prípravy WebAssembly 2.0 a súvisiace API umožniť vytváranie vysokovýkonných aplikácií, ktoré sú prenosné medzi prehliadačmi a hardvérovými platformami.

Pre tých, ktorí sú vo WebAssembly noví, by ste to mali vedieť toto poskytuje generický middleware, nízka úroveň a nezávislý od prehliadača, aby ste mohli spúšťať skompilované aplikácie z rôznych programovacích jazykov. Použitím JIT pre WebAssembly môžete dosiahnuť úroveň výkonu blízku natívnemu kódu.

O WebAssembly

WebAssembly možno použiť na vykonávanie vysokovýkonných úloh v prehliadači, ako je kódovanie videa, spracovanie zvuku, 3D a grafická manipulácia, vývoj hier, kryptografické operácie a matematické výpočty, spustením kódu napísaného v kompilovaných jazykoch, ako je C/C++.

Medzi hlavné úlohy WebAssembly patrí zabezpečenie prenosnosti, predvídateľnosti správania a identity spúšťania kódu na rôznych platformách. Nedávno sa WebAssembly presadilo aj ako univerzálna platforma pre bezpečné spúšťanie kódu na akejkoľvek infraštruktúre, operačnom systéme a zariadení, nielen v prehliadačoch.

O koncepte WebAssembly 2.0

Na strane zmien, ktoré boli vykonané od WebAssembly, sú hotové návrhy pre WebAssembly 2.0 SIMD s pevnou šírkou, operácie s veľkokapacitnou pamäťou, typy referencií, podpora JavaScript BigInt pre WebAssembly i64, podpora viacerých návratových hodnôt a import/export meniteľných globálne premenné.

Konferencia W3C zverejnila tri návrhy špecifikácií WebAssembly 2.0:

  1. Jadro webovej zostavy: opisuje nízkoúrovňový virtuálny stroj na spustenie prechodného kódu WebAssembly. Zdroje súvisiace s WebAssembly prichádzajú vo formáte „.wasm“, podobne ako súbory Java „.class“, ktoré obsahujú statické údaje a segmenty kódu na prácu s týmito údajmi.
  2. Rozhranie JavaScriptu WebAssembly: poskytuje API pre integráciu s JavaScriptom. Umožňuje získať hodnoty a odovzdať parametre funkciám WebAssembly. Vykonávanie WebAssembly sa riadi bezpečnostným modelom JavaScript a všetka interakcia s hostiteľom sa vykonáva podobným spôsobom ako pri spúšťaní kódu JavaScript.
  3. WebAssembly Web API: definuje API založené na mechanizme Promise na vyžiadanie a spustenie zdrojov ".wasm". Formát prostriedkov WebAssembly je optimalizovaný na spustenie vykonávania bez čakania na úplné stiahnutie súboru, čo zlepšuje odozvu webových aplikácií.

Rozdiely medzi WebAssembly a WebAssembly 2.0

Tiež je potrebné poznamenať, že v WebAssembly 2.0 je niekoľko dôležitých zmien v porovnaní s prvou verziou štandardu:

  • podpora vektorového typu v128 a súvisiace vektorové inštrukcie, ktoré vám umožňujú vykonávať operácie s viacerými číselnými hodnotami paralelne (SIMD, jedna inštrukcia, viaceré dáta).
  • Schopnosť importovať a exportovať meniteľné globálne premenné, ktorý umožňuje globálnu väzbu pre hodnoty ako ukazovatele zásobníka v C++.
  • Nové pokyny na konverziu float na int, ktorý namiesto toho, aby vyvolal výnimku pri pretečení výsledkov, vráti minimálnu alebo maximálnu možnú hodnotu (požadované pre SIMD).
  • Pokyny na rozšírenie znamienka celých čísel (zvýšte bitovú hĺbku čísla so zachovaním znamienka a hodnoty).
  • Podpora pre vrátenie viacerých hodnôt blokmi a funkciami (rovnako ako odovzdávanie viacerých parametrov funkciám).
  • Implementujte funkcie JavaScript BigInt64Array a BigUint64Array na konverziu medzi typom JavaScript BigInt a reprezentáciou WebAssembly 64-bitových celých čísel.
  • Podpora pre referenčné typy (funcref a externref) a ich pridružené príkazy (select, ref.null, ref.func a ref.is_null).
  • inštrukcie memory.copy, memory.fill, memory.init a data.drop na kopírovanie údajov medzi oblasťami pamäte a vymazanie oblastí pamäte.
  • Pokyny na priamy prístup a úpravu tabuliek (table.set, table.get, table.size, table.grow).
  • Schopnosť vytvárať, importovať a exportovať viacero tabuliek v jednom module. Funkcie na kopírovanie/vypĺňanie tabuliek v dávkovom režime (table.copy, table.init a elem.drop).

Nakoniec, ak máte záujem dozvedieť sa o tom viac, môžete sa obrátiť na podrobnosti Na nasledujúcom odkaze.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Za údaje zodpovedá: AB Internet Networks 2008 SL
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.