Inilabas ang Draft WebAssembly 2.0 standard 

Inilantad ang W3C Kamakailan sa pamamagitan ng isang post isang draft ng isang bagong detalye na nag-standardize sa paghahanda code ng WebAssembly 2.0 at nauugnay na API upang paganahin ang paglikha ng mga application na may mataas na pagganap na portable sa mga browser at hardware platform.

Para sa mga bago sa WebAssembly, dapat mong malaman iyon nagbibigay ito ng generic na middleware, mababang antas at browser-independent, upang magpatakbo ng mga pinagsama-samang application mula sa iba't ibang programming language. Sa pamamagitan ng paggamit ng JIT para sa WebAssembly, makakamit mo ang isang antas ng pagganap na malapit sa katutubong code.

Tungkol sa WebAssembly

WebAss Assembly ay maaaring gamitin upang magsagawa ng mga gawaing may mataas na pagganap sa browser, gaya ng pag-encode ng video, pagpoproseso ng audio, pagmamanipula ng 3D at graphics, pagbuo ng laro, mga pagpapatakbo ng cryptographic, at pagkalkula ng matematika, sa pamamagitan ng pagpapatupad ng code na nakasulat sa mga pinagsama-samang wika gaya ng C/C++.

Kabilang sa mga pangunahing gawain ng WebAssembly ay ang pagbibigay ng portability, predictability ng pag-uugali at pagkakakilanlan ng code execution sa iba't ibang platform. Kamakailan, ang WebAssembly ay na-promote din bilang isang unibersal na platform para sa ligtas na pagpapatupad ng code sa anumang imprastraktura, operating system, at device, hindi limitado sa mga browser.

Tungkol sa WebAssembly 2.0 draft

Sa bahagi ng mga pagbabagong ginawa mula noong WebAssembly ay ang mga natapos na panukala para sa WebAssembly 2.0 ay fixed-width na SIMD, mass memory operations, mga uri ng sanggunian, JavaScript BigInt na suporta para sa WebAssembly i64, suporta para sa maramihang mga return value at import/export ng nababago. pandaigdigang mga variable.

Ang W3C ay naglathala ng tatlong draft na mga detalye ng WebAssembly 2.0:

  1. Web Assembly Core: naglalarawan ng mababang antas na virtual machine para sa pagpapatakbo ng intermediate na WebAssembly code. Ang mga mapagkukunang nauugnay sa WebAssembly ay nasa isang ".wasm" na format, katulad ng mga Java ".class" na mga file, na naglalaman ng static na data at mga segment ng code upang gumana sa data na iyon.
  2. WebAss Assembly JavaScript interface: nagbibigay ng API para sa pagsasama sa JavaScript. Binibigyang-daan kang makakuha ng mga halaga at ipasa ang mga parameter sa mga function ng WebAssembly. Ang pagpapatupad ng WebAssembly ay sumusunod sa modelo ng seguridad ng JavaScript, at ang lahat ng pakikipag-ugnayan sa host ay ginagawa sa paraang katulad ng pagpapatakbo ng JavaScript code.
  3. WebAss Assembly Web API: tumutukoy sa isang API batay sa mekanismo ng Pangako para sa paghiling at pagpapatupad ng mga mapagkukunang ".wasm." Ang format ng mapagkukunan ng WebAssembly ay na-optimize upang simulan ang pagpapatupad nang hindi naghihintay para sa ganap na pag-download ng file, na nagpapahusay sa pagtugon ng mga web application.

Mga pagkakaiba sa pagitan ng WebAssembly at WebAssembly 2.0

Gayundin, dapat tandaan na mayroong ilang mahahalagang pagbabago sa WebAssembly 2.0 kumpara sa unang bersyon ng pamantayan:

  • v128 na suporta sa uri ng vector at kaugnay na mga tagubilin sa vector na nagbibigay-daan sa iyong magsagawa ng mga operasyon sa maraming mga numerong halaga nang magkatulad (SIMD, solong pagtuturo, maramihang data).
  • Kakayahang mag-import at mag-export ng mga nababagong global variable, na nagpapahintulot sa pandaigdigang pagbubuklod para sa mga halaga bilang mga stack pointer sa C++.
  • Mga bagong tagubilin para i-convert ang float sa int, na sa halip na maglagay ng exception sa overflow ng resulta, ibinabalik ang minimum o maximum na posibleng halaga (kinakailangan para sa SIMD).
  • Mga tagubilin para sa pagpapalawak ng tanda ng mga integer (dagdagan ang bit depth ng isang numero na pinapanatili ang sign at value).
  • Suporta para sa pagbabalik ng maramihang mga halaga sa pamamagitan ng mga bloke at pag-andar (pati na rin ang pagpasa ng maramihang mga parameter sa mga function).
  • Ipatupad ang mga function ng JavaScript na BigInt64Array at BigUint64Array upang mag-convert sa pagitan ng uri ng JavaScript na BigInt at ng representasyon ng WebAssembly ng mga 64-bit na integer.
  • Suporta para sa mga uri ng sanggunian (funcref at externref) at ang kanilang mga nauugnay na pahayag (piliin, ref.null, ref.func at ref.is_null).
  • memory.copy, memory.fill, memory.init, at data.drop na mga tagubilin upang kopyahin ang data sa pagitan ng mga rehiyon ng memorya at tanggalin ang mga rehiyon ng memorya.
  • Mga tagubilin para sa direktang pag-access at pagbabago ng mga talahanayan (table.set, table.get, table.size, table.grow).
  • Kakayahang lumikha, mag-import at mag-export ng maramihang mga talahanayan sa isang module. Mga function upang kopyahin/punan ang mga talahanayan sa batch mode (table.copy, table.init at elem.drop).

Panghuli, kung interesado kang malaman ang tungkol dito, maaari kang kumunsulta sa mga detalye Sa sumusunod na link.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: AB Internet Networks 2008 SL
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.