wasm3, WebAssemble tulks izlaiž savu pirmo versiju

W3

Nesen tika izlaista pirmā wasm3 versija, kurš ir tulks ļoti ātrs starpposma kods pēc WebAssemblyTas galvenokārt ir paredzēts, lai palaistu WebAssembly lietojumprogrammas mikrokontrolleros un platformās, kurām nav JIT ieviešanas WebAssembly, nepietiek atmiņas, lai JIT darbotos, vai JIT ieviešanai nepieciešamo izpildāmo atmiņas lapu izveidošanai.

Tiem, kas nav pazīstami ar WebAssembly, jums jāzina, ka tas tā ir zema līmeņa valoda, sākotnēji veidots kā mērķa formāts, sastādot no C un C ++, lai gan tas atbalsta arī citu valodu, piemēram, Rust un Go, avota kodu. Šis portatīvā binārā koda formāts tiek izmantots, lai pilnībā izpildītu skriptus no klienta puses pārlūka.

Par wasm3

Wasm3 iztur saderības testus ar WebAssembly 1.0 specifikāciju un var izmantot, lai palaistu daudzas WASI lietojumprogrammas, nodrošinot tikai 4-5 reizes mazāku veiktspēju nekā JIT dzinējiem un 11.5 reizes mazāku nekā vietējā koda izpilde.

Salīdzinot ar citiem izpildītājiem no WebAssembly (wac, life, wasm-mikro-runtime), wasm3 bija 15.8 reizes ātrāks.

Wasm3 sāka kā pētniecības projektu, un tas joprojām ir daudzos veidos. Motora novērtēšana dažādās vidēs ir daļa no izmeklēšanas. Tā kā MCU darbojas Lua, JS, Python, Lisp, (…), WebAssembly faktiski ir daudzsološa alternatīva. Tas nodrošina pilnīgi izolētu, labi definētu un paredzamu vidi. Starp praktiskās izmantošanas gadījumiem mēs varam uzskaitīt vismodernāko skaitļošanu, skriptu izveidošanu, IoT noteikumu izpildi, blokķēdes līgumus utt.

wasm3 kodam ir nepieciešama 64 KB atmiņa un 10 KB RAM, Kas tu ļauj izmantot projektu palaist kompilētas lietojumprogrammas WebAssembly mikrokontrolleros, piemēram, Arduino MKR *, Arduino Due, daļiņu fotons, ESP8266, ESP32, Air602 (W600), nRF52, nRF51 zilā tablete (STM32F103C8T6), MXChip AZ3166 (EMW3166), Maix (K210), HiFive1 (E310) un E40 (E5) , kā arī uz dēļiem un datoriem, kuru pamatā ir arhitektūra x86, x64, ARM, MIPS, RISC-V un Xtens.

Augsta veiktspēja tiek sasniegta, izmantojot Massey Meta Machine tehniku (M3) tulkā, kurā, lai samazinātu baitkoda dekodēšanas papildu izmaksas, baitkods tiek proaktīvi tulkots efektīvākās operācijās, kas ģenerē pseido-mašīnu kodu un sakrautas virtuālās mašīnas izpildes modelis kļūst par efektīvāku reģistra pieeju, operācijas M3 ir C funkcijas, kuru argumenti ir virtuālās mašīnas reģistri, kurus var atspoguļot CPU reģistros.

Biežas optimizācijas optimizēšanas darbplūsmas pārvēršas kopsavilkuma operācijās.

Turklāt, Pētījuma rezultātus var novērot WebAssemble tīmeklī, analizējot 948 tūkstošus populārāko vietņu, ko novērtēja Alexa, pētnieki atklāja, ka WebAssembly izmanto 1639 vietnes (0.17%), tas ir, 1 no 600 vietnēm.

Kopumā vietnēs tika atklāta 1950 WebAssembly moduļu slodze, no kuriem 150 ir unikāli.

Apsverot WebAssemble apjomu, tika izdarīti vilšanās secinājumi: vairāk nekā 50% gadījumu WebAssemble tika izmantots ļaunprātīgiem mērķiem, piemēram, kriptovalūtu iegūšanai (55,7%) un koda paslēpšanai no ļaunprātīgiem skriptiem (0,2 , XNUMX%).

No atbalstītajām operētājsistēmām par Wasm3, mēs varam atrast Linux ieskaitot maršrutētājus, kuru pamatā ir OpenWRT, Windows, macOS, Android un iOS. Varēja arī apkopot wasm3 starpposma WebAssembly kodā, lai palaistu tulku pārlūkprogrammā vai pašmājvietai.

No WebAssembly likumīgiem lietojumiem tika novērota bibliotēkas izpilde (38.8%), spēļu izveide (3.5%) un vietējā koda izpilde, kas nav JavaScript (0.9%). 14,9% gadījumu WebAssemble tika izmantots, lai analizētu vidi lietotāja identifikācijai (pirkstu nospiedumi).

Izmēģiniet wasm3

Tiem, kurus interesē iespēja izmantot šo tulku savā sistēmā, var iepazīties ar dokumentāciju, kā arī ar projekta kodu kas rakstīts C un izplatīts ar MIT licenci, Šajā saitē.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.