WebAssembly 2.0 Tus Qauv Saib Ua Ntej Muaj

W3C tau tshaj tawm cov qauv ntawm cov lus qhia tshiab uas ua qauv WebAssembly 2.0 nruab nrab thiab nws cov API cuam tshuam, ua rau muaj kev tsim cov ntawv thov ua haujlwm siab uas tuaj yeem nqa tau thoob plaws browsers thiab hardware platforms. WebAssembly muab browser- ywj pheej, universal, qis-qib intermediate code rau khiav cov ntawv sau ua ke los ntawm ntau hom lus programming. Los ntawm kev siv JIT rau WebAssembly, koj tuaj yeem ua tiav qib kev ua tau zoo nyob ze rau cov cai ib txwm muaj.

WebAssembly thev naus laus zis tuaj yeem siv los ua cov haujlwm ua tau zoo hauv qhov browser, xws li video encoding, audio processing, graphics thiab 3D manipulation, game development, cryptographic operations and mathematical ladies los ntawm kev tso cai sau ua lus sau ua ke xws li C/C ++ .

Ntawm cov hom phiaj tseem ceeb ntawm WebAssembly yog xyuas kom muaj kev txav mus los, kev coj tus cwj pwm zoo thiab kev ua tiav cov lej sib txawv ntawm ntau lub platform. Tsis ntev los no, WebAssembly kuj tau nce qib raws li lub platform thoob ntiaj teb rau kev ua haujlwm ruaj ntseg ntawm txhua qhov chaw tsim kho, kev ua haujlwm, thiab khoom siv, tsis txwv rau browsers.

W3C tau tshaj tawm peb qhov kev qhia tshwj xeeb rau WebAssembly 2.0:

  • WebAssembly Core - Piav qhia lub tshuab virtual qis rau kev khiav WebAssembly intermediate code. Cov peev txheej cuam tshuam nrog WebAssembly yog xa hauv ".wasm" hom, zoo ib yam li ".class" cov ntaub ntawv hauv Java, muaj cov ntaub ntawv zoo li qub thiab cov lej rau kev ua haujlwm nrog cov ntaub ntawv ntawd.
  • WebAssembly JavaScript Interface - Muab API rau kev koom ua ke nrog JavaScript. Tso cai rau koj kom tau txais txiaj ntsig thiab dhau qhov tsis ua haujlwm rau WebAssembly. Kev ua tiav ntawm WebAssembly ua raws li JavaScript kev ruaj ntseg qauv thiab tag nrho cov kev cuam tshuam nrog lub ntsiab system yog ua nyob rau hauv tib txoj kev raws li ua raws li JavaScript code.
  • WebAssembly Web API - Txhais qhov programming interface raws li Kev cog lus rau kev thov thiab ua tiav ".wasm" cov peev txheej. Lub WebAssembly resource format yog optimized kom pib ua tiav yam tsis tau tos cov ntaub ntawv kom tag nrho cov load, uas txhim kho lub teb ntawm daim ntawv thov web.

Cov kev hloov pauv tseem ceeb hauv WebAssembly 2.0 piv rau thawj version ntawm tus qauv:

  • Kev them nyiaj yug rau v128 vector hom thiab lwm yam vector cov lus qhia uas tso cai rau koj ua yeeb yam ntawm ntau tus lej muaj nuj nqis nyob rau hauv parallel (SIMD, ib qho kev qhia ntau yam ntaub ntawv).
  • Muaj peev xwm ntshuam thiab xa tawm cov hloov pauv hloov pauv thoob ntiaj teb, tso cai rau kev sib txuas thoob ntiaj teb rau cov txiaj ntsig xws li pawg taw qhia hauv C ++.
  • Tshiab ntab rau int hloov dua siab tshiab cov lus qhia uas, es tsis txhob pov ib qho kev zam thaum qhov tshwm sim overflows, rov qab qhov tsawg kawg nkaus los yog siab tshaj tus nqi (tsim nyog rau SIMD).
  • Cov lus qhia rau kev kos npe nthuav dav ntawm cov lej (nce qhov tob me ntsis ntawm tus lej thaum tswj kev kos npe thiab tus nqi).
  • Kev them nyiaj yug rau cov blocks thiab kev ua haujlwm rov qab los ntawm ntau qhov tseem ceeb (ntxiv rau kev hla ntau yam tsis ua haujlwm).
  • Kev nqis tes ua ntawm BigInt64Array thiab BigUint64Array JavaScript ua haujlwm los hloov pauv ntawm BigInt JavaScript hom thiab WebAssembly sawv cev ntawm 64-ntsis integers.
  • Kev them nyiaj yug rau hom siv (funcref thiab externref) thiab lawv cov lus qhia cuam tshuam (xaiv, ref.null, ref.func thiab ref.is_null).
  • Memory.copy, memory.fill, memory.init, thiab data.drop cov lus qhia rau kev luam cov ntaub ntawv ntawm cheeb tsam nco thiab tshem thaj chaw nco.
  • Cov lus qhia ncaj qha rau kev nkag mus thiab hloov cov rooj (table.set, table.get, table.size, table.grow). Muaj peev xwm tsim, ntshuam thiab xa tawm ntau lub rooj hauv ib qho module. Kev ua haujlwm rau kev luam / sau cov rooj hauv batch hom (table.copy, table.init thiab elem.drop).

Tau qhov twg los: opennet.ru

Ntxiv ib saib