Wasmer 3.0 saabub koos WASI, API-de, mäluhalduse ja muu täiustustega

Wasmer

Wasmer on kiire ja turvaline WebAssembly käitusaeg, mis võimaldab ülikergetel konteineritel töötada kõikjal: töölauast pilve-, serva- ja asjade Interneti-seadmeteni.

Pärast peaaegu 6 kuud eelmisest väljalasest ilmus Wasmer 3.0 uus versioon, areneva projekti kolmas suurem versioon käitusaeg WebAssembly moodulite käivitamiseks mida saab kasutada universaalsete rakenduste loomiseks, mis võivad töötada erinevates operatsioonisüsteemides, samuti ebausaldusväärse koodi täitmiseks.

La võimalus käivitada sama rakendust erinevatel platvormidel see saadakse koodi kompileerimisel madala taseme WebAssembly vahekoodiks, mis võib töötada mis tahes operatsioonisüsteemis või olla manustatud teiste programmeerimiskeelte programmidesse. Programmid on kerged konteinerid, mis käitavad WebAssembly pseudokoodi.

Need konteinerid ei ole operatsioonisüsteemiga seotud ja võivad sisaldada algselt mis tahes programmeerimiskeeles kirjutatud koodi.

WebAssembly tõlkimiseks praegusesse platvormi masinkoodi, peate toetab erinevate ehituse taustaprogrammide ühendamist (Singlepass, Cranelift, LLVM) ja mootorid (kasutades JIT-i või genereerides masinkoodi). Juurdepääsu kontrolli ja süsteemiga suhtlemist pakub WASI (WebAssembly System Interface) API, mis pakub programmeerimisliideseid failide, pistikupesade ja muude operatsioonisüsteemi pakutavate funktsioonidega töötamiseks.

Platvorm võimaldab teil saavutada rakenduste täitmise jõudluse, mis on lähedane natiivsete ehituste omale.

Wasmer 3.0 peamised uudised

Selles Wasmer 3.0 uues versioonis on võime luua natiivseid täitmisfaile mis tahes platvormi jaoks. käsk"wasmer create-exe» on täielikult ümber kujundatud, et teisendada WebAssembly vahepealne koodifail Linuxi, Windowsi ja macOS-i platvormide jaoks eraldiseisvateks käivitatavateks failideks, mida saab käivitada ilma Wasmerit installimata.

Veel üks esitletav uudsus on see, et võime käitada WAPM-pakette asub kataloogis wapm.io kasutades käsku "wasmer run". Näiteks käivitage "wasmer run python/python» laadib pythoni paketi wapm.io hoidlast alla ja käivitab selle.

Wasmer Rust API on täielikult ümber kujundatud, muutes mälu käsitlemise viisi ja pakkudes võimalust Wasmi objekte ohutult Store struktuuris salvestada.

Selles Wasmer 3.0 uues versioonis on esile tõstetud ka täiustatud WASI API juurutamine (WebAssembly System Interface), lisaks WASI API probleemide lahendamisele failisüsteemiga töötamiseks. Sisemised tüübid on ümber kujundatud WAI (WebAssembly Interfaces) abil, mis võimaldab tulevikus rakendada mitmeid uusi funktsioone.

Lisaks sellele on mootoreid ka lihtsustatud, kuna JIT jaoks mõeldud eraldi mootorite asemel on dünaamiline ja staatiline sidumine (Universal, Dylib, StaticLib), pakub nüüd ühist mootorit ning laadib ja salvestab koodi mida juhitakse parameetrite seadistustasemel.

Artefaktide deserialiseerimiseks kasutatakse rkyv raamistikku, mis tagab nullkoopiaoperatsiooni, st ei vaja täiendavat mälu eraldamist ja teostab deserialiseerimise, kasutades ainult algselt pakutavat puhvrit.

Kohta muud muudatused mis eristuvad sellest uuest versioonist:

  • Rkyvi kasutamine suurendas oluliselt käivituskiirust.
  • Singlepassi kompilaatorit on täiustatud, et toetada mitme väärtusega funktsioone, parandada töökindlust ja lisada tuge erandite käsitlemise raamistikele.
  • Komponentide komplekt wasmer-js on rakendatud Wasmeri käitamiseks veebibrauseris ja sellega suhtlemiseks JavaScripti kaudu raamatukogu abil wasm-bindgen.
  • Välja on pakutud uus struktuur. Mäluvaade mis võimaldab lugeda ja kirjutada andmeid lineaarses mälupiirkonnas.

Lõpetuseks olgu mainitud, et programme levitatakse tavaliste WebAssembly moodulitena, mida saab hallata WAPM paketihalduri abil. Wasmer on saadaval ka raamatukoguna, mida saab kasutada WebAssembly koodi manustamiseks Rust, C/C++, C#, D, Python, JavaScript, Go, PHP, Ruby, Elixir ja Java programmidesse.

Projekti kood on kirjutatud Rust keeles ja levitatakse MIT litsentsi all ning selle kohta saad lähemalt vaadata, Järgmisel lingil.


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutav: AB Internet Networks 2008 SL
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.