Представљен В3Ц Недавно преко поста нацрт нове спецификације који стандардизује код за припрему ВебАссембли 2.0 и повезани АПИ да би се омогућило креирање апликација високих перформанси које су преносиве преко претраживача и хардверских платформи.
За оне који су нови у ВебАссембли-у, требало би да то знате ово обезбеђује генерички средњи софтвер, низак ниво и независно од претраживача, за покретање компајлираних апликација из разних програмских језика. Коришћењем ЈИТ-а за ВебАссембли, можете постићи ниво перформанси близак изворном коду.
О ВебАссембли-у
ВебАссембли може се користити за обављање задатака високих перформанси у претраживачу, као што су видео кодирање, обрада звука, 3Д и графичка манипулација, развој игара, криптографске операције и математичка израчунавања, извршавањем кода написаног на компајлираним језицима као што је Ц/Ц++.
Међу главним задацима ВебАссембли-а је обезбеђивање преносивости, предвидљивости понашања и идентитета извршења кода на различитим платформама. Недавно је ВебАссембли такође промовисан као универзална платформа за безбедно извршавање кода на било којој инфраструктури, оперативном систему и уређају, не ограничавајући се на претраживаче.
О нацрту ВебАссембли 2.0
У делу промена које су направљене од ВебАссембли-ја су готови предлози за ВебАссембли 2.0 су СИМД фиксне ширине, операције масовне меморије, референтни типови, подршка за ЈаваСцрипт БигИнт за ВебАссембли и64, подршка за вишеструке повратне вредности и увоз/извоз променљивих глобалне варијабле.
В3Ц је објавио три нацрта ВебАссембли 2.0 спецификација:
- Језгро веб склопа: описује виртуелну машину ниског нивоа за покретање средњег ВебАссембли кода. Ресурси који се односе на ВебАссембли долазе у „.васм“ формату, сличном Јава „.цласс“ датотекама, које садрже статичке податке и сегменте кода за рад са тим подацима.
- ЈаваСцрипт интерфејс ВебАссембли: пружа АПИ за интеграцију са ЈаваСцрипт-ом. Омогућава вам да добијете вредности и проследите параметре ВебАссембли функцијама. Извршење ВебАссембли-а прати ЈаваСцрипт безбедносни модел, а сва интеракција са хостом се обавља на начин сличан покретању ЈаваСцрипт кода.
- ВебАссембли Веб АПИ: дефинише АПИ заснован на механизму Промисе за тражење и извршавање ".васм" ресурса. Формат ВебАссембли ресурса је оптимизован за почетак извршавања без чекања да се датотека у потпуности преузме, што побољшава одзив веб апликација.
Разлике између ВебАссембли-а и ВебАссембли-а 2.0
Такође, треба напоменути да постоје неке важне промене у ВебАссембли 2.0 у поређењу са првом верзијом стандарда:
- в128 подршка за векторски тип и повезане векторске инструкције које вам омогућавају да паралелно обављате операције над више нумеричких вредности (СИМД, једна инструкција, више података).
- Могућност увоза и извоза променљивих глобалних променљивих, који омогућава глобално везивање за вредности као показиваче стека у Ц++.
- Нова упутства за претварање флоат у инт, који уместо избацивања изузетка на преливање резултата, враћа минималну или максималну могућу вредност (потребно за СИМД).
- Упутства за проширење предзнака целих бројева (повећајте дубину бита броја задржавајући знак и вредност).
- Подршка за враћање више вредности по блоковима и функцијама (као и прослеђивање више параметара функцијама).
- Имплементирајте ЈаваСцрипт функције БигИнт64Арраи и БигУинт64Арраи за конверзију између ЈаваСцрипт типа БигИнт и ВебАссембли репрезентације 64-битних целих бројева.
- Подршка за референтне типове (фунцреф и ектернреф) и њихове повезане изјаве (селецт, реф.нулл, реф.фунц и реф.ис_нулл).
- мемори.цопи, мемори.филл, мемори.инит и дата.дроп упутства за копирање података између меморијских региона и брисање меморијских региона.
- Упутство за директан приступ и измену табела (табле.сет, табле.гет, табле.сизе, табле.гров).
- Могућност креирања, увоза и извоза више табела у једном модулу. Функције за копирање/попуњавање табела у батцх режиму (табле.цопи, табле.инит и елем.дроп).
Коначно, ако сте заинтересовани да сазнате више о томе, можете се консултовати са детаљима У следећем линку.