WebAssembly 2.0 Sawangan Standar Sadia

W3C parantos nyebarkeun draf spésifikasi énggal anu ngabakukeun middleware WebAssembly 2.0 sareng API anu aya hubunganana, ngamungkinkeun nyiptakeun aplikasi berkinerja tinggi anu portabel dina browser sareng platform hardware. WebAssembly nyadiakeun browser-bebas, universal,-tingkat low kode panengah pikeun ngajalankeun aplikasi disusun tina sagala rupa basa program. Ku ngagunakeun JIT pikeun WebAssembly, anjeun tiasa ngahontal tingkat kinerja anu caket sareng kode asli.

Téknologi WebAssembly tiasa dianggo pikeun ngalaksanakeun tugas berkinerja tinggi dina browser, sapertos encoding video, pamrosésan audio, grafik sareng manipulasi 3D, pamekaran kaulinan, operasi kriptografi sareng itungan matematik ku ngamungkinkeun kode ditulis dina basa anu disusun sapertos C/C++. .

Diantara tujuan utama WebAssembly nyaéta mastikeun portabilitas, paripolah anu tiasa diprediksi sareng palaksanaan kode anu sami dina platform anu béda. Anyar-anyar ieu, WebAssembly ogé parantos dipromosikeun salaku platform universal pikeun ngalaksanakeun kode sacara aman dina sagala infrastruktur, sistem operasi, sareng alat, henteu dugi ka browser.

W3C parantos nyebarkeun tilu draf spésifikasi pikeun WebAssembly 2.0:

  • WebAssembly Core - Ngajelaskeun mesin virtual tingkat low pikeun ngajalankeun kode panganteur WebAssembly. Sumberdaya pakait sareng WebAssembly dikirimkeun dina format ".wasm", sarupa jeung ".class" file di Java, ngandung data statik sarta bagéan kode pikeun gawé bareng data éta.
  • WebAssembly JavaScript Interface - Nyadiakeun API pikeun integrasi jeung JavaScript. Ngidinan anjeun kéngingkeun nilai sareng lulus parameter kana fungsi WebAssembly. Palaksanaan WebAssembly nuturkeun modél kaamanan JavaScript sareng sadaya interaksi sareng sistem utama dilaksanakeun dina cara anu sami sareng ngalaksanakeun kode JavaScript.
  • WebAssembly Web API - Nangtukeun panganteur programming dumasar kana mékanisme Jangji pikeun requesting na executing ".wasm" sumberdaya. Format sumberdaya WebAssembly dioptimalkeun pikeun ngamimitian palaksanaan tanpa ngantosan file pinuh dimuat, anu ningkatkeun responsif aplikasi wéb.

Parobihan utama dina WebAssembly 2.0 dibandingkeun sareng versi munggaran standar:

  • Rojongan pikeun jenis vektor v128 sareng petunjuk vektor anu aya hubunganana anu ngamungkinkeun anjeun ngalakukeun tindakan dina sababaraha nilai numerik paralel (SIMD, instruksi tunggal sababaraha data).
  • Kamampuhan pikeun ngimpor sareng ngékspor variabel global anu tiasa dirobih, ngamungkinkeun ngariung global pikeun nilai sapertos pointer tumpukan dina C ++.
  • Ngambang anyar kana parentah konversi int éta, tinimbang ngalungkeun iwal mun hasilna overflows, balik nilai minimum atawa maksimum mungkin (diperlukeun pikeun SIMD).
  • Parentah pikeun ékspansi tanda integer (ngaronjatkeun jero bit hiji angka bari ngajaga tanda jeung nilai).
  • Rojongan pikeun blok sareng fungsi ngabalikeun sababaraha nilai (sajaba ngalangkungan sababaraha parameter kana fungsi).
  • Palaksanaan BigInt64Array sareng BigUint64Array JavaScript fungsina pikeun ngarobih antara jinis JavaScript BigInt sareng perwakilan WebAssembly tina integer 64-bit.
  • Rojongan pikeun jenis rujukan (funcref na externref) jeung parentah pakait (milih, ref.null, ref.func na ref.is_null).
  • Memory.copy, memory.fill, memory.init, jeung data.drop parentah pikeun nyalin data antara wewengkon memori jeung clearing wewengkon memori.
  • Parentah pikeun aksés langsung jeung ngaropéa tabel (table.set, table.get, table.size, table.grow). Kamampuhan pikeun nyiptakeun, ngimpor sareng ngékspor sababaraha tabel dina hiji modul. Fungsi pikeun salinan / ngeusian tabel dina modeu bets (table.copy, table.init na elem.drop).

sumber: opennet.ru

Tambahkeun komentar