Wasm3 Memasuki Tahap Pemeliharaan Minimal
(github.com/wasm3)- Wasm3 adalah interpreter WebAssembly yang cepat dan ditujukan sebagai runtime WASM serbaguna, tetapi menghentikan pengembangan fitur baru dan memasuki tahap pemeliharaan minimal
- Pengembang menyatakan bahwa setelah rumahnya hancur akibat invasi Rusia, ia tidak dapat melanjutkan pengembangan fitur baru, namun proyek akan tetap dipertahankan dan Pull Request yang masuk akan ditinjau serta digabungkan
wasm3lulus WebAssembly spec testsuite dan dapat menjalankan banyak aplikasiWASI, dengan kebutuhan sistem minimum yang masih berguna sekitar 64KB kode dan sekitar 10KB RAM- Mendukung berbagai arsitektur seperti x86, x86_64, ARM, RISC-V, PowerPC, MIPS, Xtensa, ARC32, serta Linux, Windows, OS X, FreeBSD, Android, iOS, MCU, browser, hingga menjalankan dirinya sendiri
- Pendekatan interpreter memiliki keunggulan dalam ukuran berkas eksekusi, penggunaan memori, latensi startup, portabilitas, keamanan, dan kemudahan integrasi; di lingkungan seperti iOS atau WebAssembly itu sendiri, JIT tidak dapat digunakan karena tidak bisa membuat halaman kode runtime
Perubahan status pemeliharaan
- Wasm3 memasuki tahap pemeliharaan minimal
- Pengembangan fitur baru berada dalam kondisi sulit untuk dilanjutkan
- Proyek akan tetap dipelihara, dan Pull Request yang masuk akan ditinjau serta digabungkan secara aktif
- Kontribusi komunitas menjadi lebih penting daripada sebelumnya
- Pengembang menyatakan bahwa setelah rumahnya hancur akibat invasi Rusia, saat ini ia tidak dapat melanjutkan pengembangan fitur baru
Apa yang ditawarkan Wasm3
- Wasm3 adalah interpreter WebAssembly yang cepat dan bertujuan menjadi runtime WASM serbaguna
- Klaim performanya didasarkan pada CoreMark 1.0 dan benchmark independen
- Performa nyata dapat berbeda tergantung lingkungan
- Banyak bahasa dan lingkungan yang juga dapat menggunakannya sebagai library
Lingkungan eksekusi dan kebutuhan sistem
wasm3lulus WebAssembly spec testsuite- Dapat menjalankan banyak aplikasi
WASI - Kebutuhan sistem minimum yang masih berguna adalah sebagai berikut
- Kode: sekitar 64KB
- RAM: sekitar 10KB
- Cakupan arsitektur yang didukung sangat luas
x86,x86_64,ARM,RISC-V,PowerPC,MIPS,Xtensa,ARC32, dan lainnya
- Platform dan lingkungan yang didukung juga beragam
- Linux, Windows, OS X, FreeBSD, Android, iOS
- Router dan modem berbasis OpenWrt, Yocto, Buildroot
- SBC seperti Raspberry Pi dan Orange Pi
- MCU seperti Arduino, ESP8266, ESP32, Particle
- Dapat dijalankan di browser menggunakan WebAssembly itu sendiri
- Self-hosting juga dimungkinkan, di mana
wasm3menjalankanwasm3
Dukungan fitur WebAssembly
- Fitur proposal WebAssembly yang didukung
- Import/Export of Mutable Globals
- Non-trapping float-to-int conversions
- Sign-extension operators
- Multi-value
- Bulk memory operations didukung sebagian
- Custom page size
- Fitur tambahan
- Structured execution tracing
- Dukungan sistem Big-Endian
- Self-hosting Wasm dan WASI
- Gas metering
- Batas memori linear: kurang dari 64KiB
- Masih ada item yang sedang dikerjakan atau belum didukung
- Sedang dikerjakan: Multiple memories, Reference types
- Belum didukung: Tail call optimization, Fixed-width SIMD, Exception handling, Stack Switching
Alasan memilih interpreter dan WASM tertanam
- Kecepatan tidak selalu menjadi kebutuhan utama, dan pendekatan interpreter memiliki keunggulan dalam berbagai situasi
- Dapat meningkatkan ukuran berkas eksekusi runtime, penggunaan memori, dan latensi startup
- Lebih mudah mencapai dan mempertahankan portabilitas serta keamanan
- Library sederhana seperti Wasm3 mudah dikompilasi dan diintegrasikan ke proyek yang sudah ada, dan build selesai dalam hitungan detik
- Pada beberapa platform, JIT tidak dapat digunakan
- Di iOS dan WebAssembly itu sendiri, halaman kode eksekusi tidak dapat dibuat saat runtime
- Alasan menjalankan WASM di perangkat tertanam juga dijelaskan
- Wasm3 dimulai sebagai proyek riset, dan mengevaluasi engine di berbagai lingkungan merupakan bagian dari riset tersebut
- Saat
Lua,JS,Python,Lisp, dan lainnya sudah berjalan di MCU,WebAssemblyjuga dapat menjadi alternatif - WebAssembly menyediakan pemisahan toolchain serta lingkungan yang sepenuhnya tersandbox, terdefinisi dengan baik, dan dapat diprediksi
- Contoh penggunaan praktis meliputi edge computing, scripting, sistem plugin,
IoT rules, dan smart contract
Materi referensi dan lisensi
- Dokumen utama
- Materi terkait
- Proyek ini didistribusikan di bawah MIT License
1 komentar
Komentar Hacker News
Karena ini akun anonim, saya bisa mengatakannya tanpa terasa seperti menyombongkan diri: saya sudah melakukan hal-hal yang bisa saya lakukan, seperti berdonasi, melaporkan troll, melawan disinformasi, dan menekan para politisi. Meski begitu, saya masih merasa berutang kepada rakyat Ukraina
Saya ingin Anda tahu bahwa Anda tidak sendirian, dan berharap orang lain juga melakukan tindakan kecil seperti meminta politisi bertindak, membantu warga sipil dan para pahlawan di garis depan lewat donasi, serta melaporkan disinformasi
Saya berharap Volodymyr tetap kuat saat berupaya mempertahankan proyek ini di tengah invasi Rusia ke Ukraina, dan semoga perang segera berakhir
Performanya sangat bagus, dan arsitektur serta keindahan kodenya jelas mengesankan
Tweet yang ditautkan berasal dari September 2022, menampilkan video rumah yang hancur dan meminta donasi kepada orang-orang yang ingin membantu
UE harus mengeluarkan lebih banyak uang tunai untuk membantu Ukraina