wasm3, jurubahasa WebAssembly mengeluarkan versi pertamanya

W3

Baru-baru ini versi pertama wasm3 dikeluarkan, iaitu jurubahasa sangat cepat kod perantaraan oleh WebAssemblyOleh kerana ia dirancang terutamanya untuk menjalankan aplikasi WebAssembly pada mikrokontroler dan platform yang tidak ada implementasi JIT untuk WebAssembly, memori tidak cukup untuk JIT berfungsi, atau penciptaan halaman memori yang dapat dilaksanakan yang diperlukan untuk Pelaksanaan JIT.

Bagi mereka yang tidak biasa dengan WebAssembly, anda harus tahu bahawa ini bahasa peringkat rendah, pada mulanya dirancang sebagai format sasaran ketika menyusun dari C dan C ++, walaupun ia juga menyokong kod sumber untuk bahasa lain, seperti Rust dan Go. Format kod binari mudah alih ini digunakan untuk pelaksanaan skrip sepenuhnya dari penyemak imbas sisi pelanggan.

Mengenai wasm3

Wasm3 lulus ujian keserasian dengan spesifikasi WebAssembly 1.0 dan dapat digunakan untuk menjalankan banyak aplikasi WASI, memberikan prestasi hanya 4-5 kali lebih sedikit daripada enjin JIT dan 11.5 kali kurang daripada pelaksanaan kod asli.

Berbanding dengan pemain lain dari WebAssembly (wac, life, wasm-micro-runtime), wasm3 adalah 15.8 kali lebih pantas.

Wasm3 bermula sebagai projek penyelidikan dan terus berjalan dengan banyak cara. Penilaian motor di persekitaran yang berbeza adalah sebahagian daripada penyelidikan. Oleh kerana kami menjalankan Lua, JS, Python, Lisp, (…) di MCU, WebAssembly sebenarnya merupakan alternatif yang menjanjikan. Ia menyediakan persekitaran yang terpencil, jelas dan dapat diramalkan. Di antara kes penggunaan praktikal, kami dapat menyenaraikan pengkomputeran canggih, skrip, pelaksanaan peraturan IoT, kontrak blockchain, dll.

wasm3 memerlukan memori 64Kb untuk kod dan RAM 10Kb, apa yang anda membenarkan untuk menggunakan projek untuk menjalankan aplikasi yang disusun dalam WebAssembly dalam mikrokontroler seperti Arduino MKR *, Arduino Due, Particle Photon, ESP8266, ESP32, Air602 (W600), nRF52, nRF51 Blue Pill (STM32F103C8T6), MXChip AZ3166 (EMW3166), Maix (K210), HiFive1 (E310), AT40 serta papan dan komputer berdasarkan seni bina x86, x64, ARM, MIPS, RISC-V, dan Xtens.

Prestasi tinggi dicapai dengan menggunakan teknik Massey Meta Machine (M3) dalam jurubahasa, di mana, untuk mengurangkan overhead penyahkodan bytecode, kod bytek diterjemahkan secara proaktif dalam operasi yang lebih cekap yang menghasilkan kod mesin pseudo dan model pelaksanaan mesin maya bertumpuk menjadi pendekatan pendaftaran yang lebih efisien operasi di M3 adalah fungsi C, yang argumennya adalah daftar mesin maya, yang dapat dicerminkan dalam CPU daftar.

Aliran kerja yang kerap untuk pengoptimuman berubah menjadi operasi ringkasan.

Selain itu, Hasil kajian dapat dilihat di WebAss Assembly on the Web, setelah menganalisis 948 ribu laman web yang paling popular yang dinilai oleh Alexa, para penyelidik mendapati bahawa WebAssembly digunakan oleh 1639 laman web (0.17%), iaitu 1 dari 600 laman web.

Secara keseluruhan, laman web menunjukkan banyak modul WebAssembly 1950, 150 daripadanya unik.

Semasa mempertimbangkan ruang lingkup WebAssembly, kesimpulan yang mengecewakan diambil: dalam lebih daripada 50% kes, WebAssembly digunakan untuk tujuan jahat, misalnya, untuk menambang cryptocurrency (55,7%) dan untuk menyembunyikan kod dari skrip jahat (0,2, XNUMX%) .

Sistem operasi yang disokong untuk Wasm3, kita boleh mencari Linux termasuk penghala berasaskan OpenWRT, Windows, macOS, Android dan iOS. Kami juga dapat menyusun wasm3 ke dalam kod WebAss assembate untuk menjalankan jurubahasa dalam penyemak imbas atau untuk hosting sendiri.

Dari penggunaan sah WebAssembly, pelaksanaan perpustakaan (38.8%), pembuatan permainan (3.5%), dan pelaksanaan kod asli bukan JavaScript (0.9%) diperhatikan. Dalam 14,9% kes, WebAssembly digunakan untuk menganalisis persekitaran untuk pengenalan pengguna (cap jari).

Cuba wasm3

Bagi mereka yang berminat untuk dapat menggunakan jurubahasa ini dalam sistem mereka, boleh merujuk dokumentasi dan juga kod projek yang ditulis dalam C dan diedarkan di bawah lesen MIT, Dalam pautan berikut.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.