wasm3, WebAssembly interpreteak bere lehen bertsioa kaleratzen du

W3

Berriki, wasm3-ren lehen bertsioa kaleratu zen, Zein da interprete bat tarteko kodea oso azkarra WebAssembly-ek eginaWebAssembly aplikazioak exekutatzeko diseinatu da batez ere, webguneetarako JIT inplementaziorik ez duten mikrokontrolagailu eta plataformetan, ez dago JIT funtzionatzeko adina memoria edo JIT inplementaziorako behar diren memoria orri exekutagarriak sortzeko.

WebAssembly ezagutzen ez dutenentzat, jakin behar duzu hori dela maila baxuko hizkuntza, hasiera batean helburu formatu gisa diseinatu zen C eta C ++-etik osatzerakoan, nahiz eta iturri kodea beste hizkuntza batzuetarako ere onartzen duen, hala nola, Rust eta Go. Kode bitarreko formatu eramangarri hau bezeroaren arakatzaileko scriptak guztiz exekutatzeko erabiltzen da.

Wasm3-ri buruz

Wasm3-k bateragarritasun probak gainditzen ditu WebAssembly 1.0 zehaztapenarekin eta WASI aplikazio asko exekutatzeko erabil daiteke, JIT motorrek baino 4-5 aldiz errendimendu gutxiago eskainiz eta jatorrizko kodearen exekuzioak baino 11.5 aldiz gutxiago eskainiz.

Beste interprete batzuekin alderatuta WebAssembly-etik (wac, life, wasm-micro-runtime), wasm3 15.8 aldiz azkarragoa zen.

Wasm3 ikerketa proiektu gisa hasi zen eta bide askotatik jarraitzen du. Motorraren ebaluazioa ingurune desberdinetan ikerketaren parte da. Lua, JS, Python, Lisp, (...) MCU-rekin exekutatzen ditugunez, WebAssembly benetan itxaropentsu alternatiba da. Ingurune guztiz isolatua, ondo zehaztua eta aurreikus daitekeena eskaintzen du. Erabilera kasu praktikoen artean, puntako informatika, scriptak, IoT arauen exekuzioa, blockchain kontratuak eta abar zerrendatu ditzakegu.

Wasm3 64Kb memoria behar ditu kodearentzako eta 10Kb RAM, Zu zer proiektua erabiltzeko aukera ematen du konpilatutako aplikazioak WebAssembly-en exekutatzeko bezalako mikrokontrolagailuetan Arduino MKR *, Arduino Due, Partikula Fotoia, ESP8266, ESP32, Air602 (W600), nRF52, nRF51 Blue Pill (STM32F103C8T6), MXChip AZ3166 (EMW3166), Maix (K210), HiFive1 (E310), AT40ga5 , baita arkitekturetan oinarritutako plaka eta ordenagailuetan ere x86, x64, ARM, MIPS, RISC-V eta Xtens.

Errendimendu handia Massey Meta Machine teknika erabiliz lortzen da (M3) interpretean, bertan, bytecodea deskodetzeko gastuak murrizteko, bytecode proaktiboki itzulita dago sasi-makina kodea sortzen duten eragiketa eraginkorragoetan eta pilatutako makina birtualaren exekuzio-eredua erregistro hurbilketa eraginkorragoa bihurtzen da M3ko eragiketak C funtzioak dira, eta horien argudioak makina birtualaren erregistroak dira, isla daitezkeenak. CPU erregistroetan.

Optimizatzeko maiz egiten diren lan-fluxuak laburpen-eragiketa bihurtzen dira.

Gainera, Ikerketaren emaitzak WebAssembly webgunean ikus daitezke, Alexa-k baloratutako gune ezagunenetako 948 mila aztertu ondoren, ikertzaileek aurkitu dute WebAssembly 1639 gunek erabiltzen dute (% 0.17), hau da, 1 gunetik 600.

Guztira, webguneek 1950 WebAssembly moduluen karga agerian utzi zuten, horietatik 150 bakarrak dira.

WebAssembly-en irismena aztertzerakoan, ondorio etsigarriak atera ziren: kasuen% 50ean baino gehiagotan, WebAssembly asmo txarreko helburuetarako erabiltzen zen, adibidez kriptokonferentziak ateratzeko (% 55,7) eta kodea asmo txarreko scriptetatik ezkutatzeko (0,2 ,% XNUMX).

Onartutako sistema eragileena Wasm3-rentzat, Linux aurki dezakegu OpenWRT oinarritutako bideratzaileak barne, Windows, macOS, Android eta iOS. Halaber, wasm3 tarteko WebAssembly kodean biltzea posible zen interpretea arakatzaile batean exekutatzeko edo auto-ostatatzeko.

WebAssembly-en erabilera legitimoetatik liburutegien exekuzioa (% 38.8), jokoaren sorkuntza (% 3.5) eta JavaScript ez den jatorrizko kodea exekutatzea (% 0.9) ikusi ziren. Kasuen% 14,9an, WebAssembly ingurunea aztertzeko erabili da erabiltzailea identifikatzeko (hatz markak).

Saiatu wasm3

Interprete hau bere sisteman erabili ahal izateko interesa dutenentzat, dokumentazioa eta proiektuaren kodea kontsulta ditzake C-n idatzi eta MIT lizentziarekin banatuta dagoena, Hurrengo estekan.


Artikuluaren edukia gure printzipioekin bat dator etika editoriala. Akats baten berri emateko egin klik hemen.

Idatzi lehenengo iruzkina

Utzi zure iruzkina

Zure helbide elektronikoa ez da argitaratuko.

*

*

  1. Datuen arduraduna: Miguel Ángel Gatón
  2. Datuen xedea: SPAM kontrolatzea, iruzkinen kudeaketa.
  3. Legitimazioa: Zure baimena
  4. Datuen komunikazioa: datuak ez zaizkie hirugarrenei jakinaraziko legezko betebeharrez izan ezik.
  5. Datuak biltegiratzea: Occentus Networks-ek (EB) ostatatutako datu-basea
  6. Eskubideak: Edonoiz zure informazioa mugatu, berreskuratu eta ezabatu dezakezu.

bool (egia)