Vydán standardní návrh WebAssembly 2.0 

W3C představena Nedávno prostřednictvím příspěvku návrh nové specifikace který standardizuje kód přípravy WebAssembly 2.0 a související API umožnit vytváření vysoce výkonných aplikací, které jsou přenosné napříč prohlížeči a hardwarovými platformami.

Pro nové uživatele WebAssembly byste to měli vědět to poskytuje obecný middleware, nízká úroveň a nezávislý na prohlížeči, ke spouštění zkompilovaných aplikací z různých programovacích jazyků. Pomocí JIT pro WebAssembly můžete dosáhnout úrovně výkonu blízké nativnímu kódu.

O WebAssembly

WebAssembly lze použít k provádění vysoce výkonných úloh v prohlížeči, jako je kódování videa, zpracování zvuku, 3D a grafická manipulace, vývoj her, kryptografické operace a matematické výpočty, prováděním kódu napsaného v kompilovaných jazycích, jako je C/C++.

Mezi hlavní úkoly WebAssembly patří zajištění přenositelnosti, předvídatelnosti chování a identity provádění kódu na různých platformách. V poslední době se WebAssembly také prosazuje jako univerzální platforma pro bezpečné spouštění kódu na jakékoli infrastruktuře, operačním systému a zařízení, neomezeně na prohlížeče.

O návrhu WebAssembly 2.0

Na straně změn, které byly provedeny od WebAssembly, jsou hotové návrhy pro WebAssembly 2.0 SIMD s pevnou šířkou, operace s velkokapacitní pamětí, typy odkazů, podpora JavaScript BigInt pro WebAssembly i64, podpora více návratových hodnot a import/export proměnných globální proměnné.

W3C zveřejnilo tři návrhy specifikací WebAssembly 2.0:

  1. Web Assembly Core: popisuje nízkoúrovňový virtuální stroj pro spouštění přechodného kódu WebAssembly. Zdroje související s WebAssembly přicházejí ve formátu „.wasm“, podobně jako soubory Java „.class“, které obsahují statická data a segmenty kódu pro práci s těmito daty.
  2. Rozhraní JavaScriptu WebAssembly: poskytuje API pro integraci s JavaScriptem. Umožňuje získat hodnoty a předávat parametry funkcím WebAssembly. Provádění WebAssembly se řídí bezpečnostním modelem JavaScriptu a veškerá interakce s hostitelem se provádí způsobem podobným spouštění kódu JavaScript.
  3. WebAssembly Web API: definuje API založené na mechanismu Promise pro vyžádání a spouštění zdrojů „.wasm“. Formát prostředků WebAssembly je optimalizován tak, aby spustil provádění bez čekání na úplné stažení souboru, což zlepšuje odezvu webových aplikací.

Rozdíly mezi WebAssembly a WebAssembly 2.0

Také je třeba poznamenat, že ve WebAssembly 2.0 došlo ve srovnání s první verzí standardu k některým důležitým změnám:

  • podpora vektorového typu v128 a související vektorové instrukce, které umožňují provádět operace s více číselnými hodnotami paralelně (SIMD, jedna instrukce, více dat).
  • Schopnost importovat a exportovat proměnné globální proměnné, který umožňuje globální vazbu pro hodnoty jako ukazatele zásobníku v C++.
  • Nové instrukce pro převod float na int, který místo vyvolání výjimky při přetečení výsledku vrátí minimální nebo maximální možnou hodnotu (požadováno pro SIMD).
  • Návod na rozšíření znaménka celých čísel (zvyšte bitovou hloubku čísla při zachování znaménka a hodnoty).
  • Podpora pro vracení více hodnot podle bloků a funkcí (stejně jako předávání více parametrů funkcím).
  • Implementujte funkce JavaScriptu BigInt64Array a BigUint64Array pro převod mezi typem JavaScript BigInt a reprezentací WebAssembly 64bitových celých čísel.
  • Podpora pro referenční typy (funcref a externref) a jejich související příkazy (select, ref.null, ref.func a ref.is_null).
  • instrukce memory.copy, memory.fill, memory.init a data.drop pro kopírování dat mezi oblastmi paměti a mazání oblastí paměti.
  • Pokyny pro přímý přístup a úpravy tabulek (table.set, table.get, table.size, table.grow).
  • Schopnost vytvářet, importovat a exportovat více tabulek v jednom modulu. Funkce pro kopírování/vyplňování tabulek v dávkovém režimu (table.copy, table.init a elem.drop).

Konečně, pokud máte zájem dozvědět se o tom více, můžete konzultovat podrobnosti Na následujícím odkazu.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Za data odpovídá: AB Internet Networks 2008 SL
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.