Backend eksperimental baru
- Dukungan untuk V8, Wasmi, dan WAMR telah ditambahkan
- Kini semua interpreter atau runtime yang mendukung spesifikasi Wasm-C-API dapat dengan mudah diintegrasikan ke Wasmer
- Integrasi V8 menghadirkan pengalaman debugging yang sangat baik melalui debugger V8 dan Chrome Devtools
- Menggunakan V8 sebagai backend juga berarti dukungan bawaan untuk pengecualian WebAssembly dan garbage collection
Dukungan iOS (disediakan melalui binding WAMR, Wasmi, dan V8)
- Wasmer menghadirkan WebAssembly ke perangkat iOS melalui mode interpreter baru
- Dengan memanfaatkan kemampuan V8, Wasmi, dan WebAssembly Micro Runtime (WAMR), pengembang kini dapat menjalankan modul WebAssembly dengan mulus di iOS
- Tidak diperlukan perubahan pada codebase, sehingga memungkinkan pembuatan aplikasi berperforma tinggi di ekosistem Apple
Penyederhanaan codebase
- Untuk peluncuran Wasmer 5.0, fokus diberikan pada upaya membuat codebase Wasmer seramping mungkin
- Beberapa dependensi yang digunakan Wasmer sudah lama tidak dikelola atau tumpang tindih dengan crate yang lebih baru dan lebih aman
- Karena binding Emscripten hampir tidak digunakan selama dua tahun terakhir, dukungannya dihentikan dan dependensi dirapikan, sehingga total 20 ribu baris kode murni dihapus dari codebase Wasmer
Peningkatan performa
- Deserialisasi modul kini hingga 50% lebih cepat (yaitu saat memanggil
Module::deserialize atau menjalankan modul melalui wasmer run)
- Peningkatan ini memanfaatkan pembaruan penting pada rkyv, pustaka deserialisasi zero-copy yang digunakan untuk mendeserialisasi modul
Compiler yang ditingkatkan: Cranelift dan LLVM 18
- Berkat integrasi Cranelift terbaru, kecepatan runtime meningkat signifikan sehingga modul WebAssembly berjalan lebih cepat dari sebelumnya
- Wasmer 5.0 kini menyertakan versi terbaru LLVM (18), sehingga pengembang dapat mengakses optimasi terbaru dalam toolchain
- Upgrade LLVM meningkatkan kompatibilitas dan performa, memberikan fondasi yang kuat untuk mengompilasi dan menjalankan modul WebAssembly yang kompleks
- Wasmer 5.0 juga hadir dengan dukungan eksperimental LoongAarch64
- Hasil benchmark
coremark dengan versi compiler terbaru menunjukkan bahwa LLVM dan Cranelift pada Wasmer v5.0 sekitar 8% lebih cepat dibanding v4.4.0
Opini GN⁺
- Rilis Wasmer 5.0 tampaknya akan menjadi tonggak penting bagi ekosistem WebAssembly. Khususnya, dukungan iOS dan beragam opsi backend diperkirakan dapat memperluas cakupan penerapan WebAssembly secara signifikan hingga ke aplikasi mobile
- Dengan mendukung berbagai runtime seperti V8, Wasmi, dan WAMR sebagai backend, pengembang kini dapat memilih runtime yang paling sesuai dengan kebutuhan mereka. Ini tampaknya akan sangat membantu meningkatkan fleksibilitas dan kompatibilitas WebAssembly
- Upaya optimalisasi performa melalui penyederhanaan codebase dan adopsi compiler terbaru juga patut diperhatikan. Ini menunjukkan bahwa Wasmer tidak hanya menambah fitur, tetapi juga terus berupaya meningkatkan kualitas secara berkelanjutan
- Di sisi lain, penghentian dukungan binding Emscripten memang disayangkan, tetapi tampak sebagai pilihan yang masuk akal mengingat kemunculan standar baru seperti WASI dan WASIX telah mengurangi kebutuhannya
- Secara keseluruhan, Wasmer 5.0 adalah rilis yang menunjukkan perkembangan WebAssembly dengan baik, dan ke depan Wasmer diperkirakan akan tetap menjadi salah satu proyek utama yang memimpin ekosistem WebAssembly. Namun, tampaknya masih diperlukan upaya berkelanjutan untuk meningkatkan stabilitas dan kematangan fitur-fitur yang masih berada pada tahap eksperimental
1 komentar
Pendapat Hacker News