„Wasmer 2.0“ jau buvo išleistas ir pateikiamas su SIMD, patobulinimais ir dar daugiau

Po beveik šešių mėnesių, kai buvo paleista pirmoji versija, buvo paskelbta naujos „Wasmer“ projekto versija, kuri yra antroje pagrindinėje versijoje ir kuriuose buvo atlikti tokie svarbūs pakeitimai, kad vidinės API šioje antrojoje versijoje yra nesuderinamos, nors taip pat buvo pridėta naujų funkcijų, kurios suteikia stabilumo, saugumo ir našumo patobulinimų.

Tiems, kurie nežino Wasmer, turėtumėte žinoti, kad jis sukuria vykdymo laiką vykdyti „WebAssembly“ modulius kurias galima naudoti kuriant universalias programas, kurios gali veikti keliose operacinėse sistemose, ir paleisti nepatikimą kodą atskirai.

Perkeliamumas užtikrinamas kompiliuojant programos kodą į žemo lygio „WebAssembly“ tarpinę programinę įrangą Jis gali veikti bet kurioje operacinėje sistemoje arba būti integruotas į programas kitomis programavimo kalbomis. Programos yra lengvi konteineriai, kuriuose veikia „WebAssembly“ pseudokodas.

Tai konteineriai nėra susieti su operacine sistema ir juose gali būti kodas, iš pradžių parašytas bet kuria kalba programavimas. „Emscripten“ įrankių rinkinį galima naudoti kuriant „WebAssembly“. Jei norite išversti „WebAssembly“ į dabartinį platformos mašinos kodą, palaikomas skirtingų versijų („Singlepass“, „Cranelift“, LLVM) ir variklių (naudojant JIT arba generuojantis mašinos kodą) sujungimas.

Prieigos kontrolė ir sąveika su sistema teikiama per WASI („WebAssembly System Interface“) API, kuri suteikia programavimo sąsajas darbui su failais, lizdais ir kitomis operacinės sistemos teikiamomis funkcijomis.

Programos yra izoliuotos nuo pagrindinės sistemos ir jie turi prieigą tik prie deklaruojamo funkcionalumo (saugos mechanizmas, pagrįstas valdymo galimybėmis, atliekant veiksmus su kiekvienu iš išteklių (failai, katalogai, lizdai, sistemos skambučiai ir kt.).

Pagrindinės „Wasmer 2.0“ naujovės

Šioje naujoje pristatomoje versijoje tai minima reikšmingas versijos numerio pokytis pateikė Wasmeris yra susijęs su vidinio API nesuderinamumo pakeitimų įvedimu, kuris, pasak kūrėjų, neturės įtakos 99% vartotojų nuo platformos bet kokiu būdu.

Tarp pagrindinių suderinamumo pakeitimų taip pat pasikeitė serijinių „Wasm“ modulių formatas („Wasmer 1.0“ serijiniai moduliai nebus naudojami „Wasmer 2.0“).

Be to, paryškintas SIMD instrukcijų palaikymas (Viena instrukcija, keli duomenys), kuri leisti lygiagrečiai atlikti duomenų operacijas. Sritys, kuriose SIMD naudojimas gali žymiai padidinti produktyvumą, yra mašininis mokymasis, vaizdo kodavimas ir dekodavimas, vaizdo apdorojimas, fizinio proceso modeliavimas ir grafikos manipuliavimas.

Tambienas paryškinamas referencinių tipų palaikymas, leidimas „Wasm“ moduliams pasiekti informaciją kituose moduliuose ar pagrindinėje aplinkoje ir atlikta reikšminga našumo optimizacija. LLVM vykdymo laikas su slankiojo kablelio skaičiais padidėjo maždaug 50%.

Funkcijų skambučiai buvo žymiai pagreitinti sumažinant situacijas, kurioms reikalingi branduolio skambučiai. „Cranelift“ kodo generatoriaus našumas padidėjo 40%. Duomenų deserializavimo laiko sutrumpinimas. Siekiant tiksliau atspindėti esmę, variklio pavadinimai buvo pakeisti: JIT → Universal, Native → Dylib (Dynamic Library), Object File → StaticLib (Static Library).

Pagaliau Jei jus domina sužinoti daugiau apie Wasmer, Turėtumėte žinoti, kad projekto kodas parašytas „Rust“, jis turi MIT licenciją ir jo informaciją galite patikrinti savo oficialioje svetainėje adresu sekanti nuoroda.

Įdiekite „Wasmer“ vykdymo laiką

Kita vertus, tiems, kurie domisi galimybe paleisti „WebAssembly“ konteinerį, į savo sistemą reikia įdiegti tik „Wasmer“ vykdymo laiką, kuris yra be išorinių priklausomybių.

Svarbu tai paminėti „Wasmer“ galima paleisti bet kurioje platformoje „MacOS“, „Linux“ ir „Windows“, vienintelis reikalavimas yra, kad jo vykdymo laikas būtų įdiegtas jūsų sistemoje.

Norėdami tai padaryti, tiesiog paleiskite šią komandą terminale:

curl https://get.wasmer.io -sSfL | sh

Po to jie turi įvykdyti reikiamą failą:

wasmer test.wasm

Jei norite sužinoti daugiau apie „Wasmer“ veikimą arba norite sužinoti jo šaltinio kodą, galite pasikonsultuoti su viskuo Šioje nuorodoje.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Už duomenis atsakingas: AB Internet Networks 2008 SL
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.