1 poin oleh GN⁺ 2023-12-19 | 1 komentar | Bagikan ke WhatsApp
  • 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
  • wasm3 lulus WebAssembly spec testsuite dan dapat menjalankan banyak aplikasi WASI, 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

Lingkungan eksekusi dan kebutuhan sistem

  • wasm3 lulus 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 wasm3 menjalankan wasm3

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, WebAssembly juga 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

1 komentar

 
GN⁺ 2023-12-19
Komentar Hacker News
  • Saya OP-nya, siap menjawab jika ada pertanyaan
    • Ini tidak terkait dengan proyek Wasm, tetapi saya berharap Anda, teman, dan keluarga Anda tetap aman. Kejayaan bagi Ukraina, semoga para penjajah enyah
    • Sebagai anggota awal NAFO, saya mengirimkan dukungan
      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
    • Apakah sekarang Anda aman?
    • Apakah Anda punya waktu untuk beristirahat atau melakukan hal menyenangkan, atau terus-menerus berada dalam stres?
  • Ada lebih banyak konteks di posting Twitter pihak Wasm3: https://x.com/wasm3_engine/status/1736712528883769670?s=20
  • Sejujurnya, kabar ini menyedihkan. Wasm3 adalah interpreter Wasm yang hebat dan unggul dari sisi performa; sekitar 3–5 kali lebih lambat daripada native, tetapi sekitar 3 kali lebih cepat daripada interpreter Wasm pada umumnya
    Saya berharap Volodymyr tetap kuat saat berupaya mempertahankan proyek ini di tengah invasi Rusia ke Ukraina, dan semoga perang segera berakhir
    • Setuju. Ini salah satu interpreter WASM terbaik, dan menurut saya bahkan lebih baik daripada beberapa runtime yang tersedia di berbagai tempat
      Performanya sangat bagus, dan arsitektur serta keindahan kodenya jelas mengesankan
  • Penjelasannya begini: karena Rusia menginvasi dan rumahnya hancur, Wasm3 masuk ke tahap pemeliharaan minimum; pengembangan fitur baru tidak dapat dilanjutkan, tetapi Pull Request yang masuk untuk menjaga proyek tetap hidup akan ditinjau dan digabungkan secara aktif
    Tweet yang ditautkan berasal dari September 2022, menampilkan video rumah yang hancur dan meminta donasi kepada orang-orang yang ingin membantu
    • Ini mengerikan. Slava Ukraini
    • Untuk menahan hujan dan salju, rumah itu tampaknya membutuhkan atap baru sesegera mungkin
    • Sampai sekarang saya benar-benar berharap ada seseorang di dalam Rusia yang menyingkirkan Putin. Saya yakin ada cukup banyak orang yang tidak terlalu menyukainya
      UE harus mengeluarkan lebih banyak uang tunai untuk membantu Ukraina