Backend thử nghiệm mới
- Đã bổ sung hỗ trợ cho V8, Wasmi, WAMR
- Giờ đây có thể dễ dàng tích hợp vào Wasmer bất kỳ trình thông dịch hoặc runtime nào hỗ trợ đặc tả Wasm-C-API
- Tích hợp V8 mang lại trải nghiệm gỡ lỗi xuất sắc thông qua trình gỡ lỗi V8 và Chrome Devtools
- Việc sử dụng V8 làm backend cũng đồng nghĩa với việc hỗ trợ gốc cho WebAssembly exceptions và garbage collection
Hỗ trợ iOS (được cung cấp thông qua các binding WAMR, Wasmi, V8)
- Wasmer mang WebAssembly lên thiết bị iOS thông qua chế độ trình thông dịch mới
- Tận dụng khả năng của V8, Wasmi và WebAssembly Micro Runtime (WAMR), giờ đây nhà phát triển có thể chạy liền mạch các mô-đun WebAssembly trên iOS
- Không cần thay đổi codebase, đồng thời cho phép viết ứng dụng hiệu năng cao trong hệ sinh thái Apple
Tinh gọn codebase
- Để phát hành Wasmer 5.0, trọng tâm được đặt vào việc làm cho codebase của Wasmer gọn nhất có thể
- Một số dependency mà Wasmer sử dụng đã không còn được bảo trì trong thời gian dài hoặc đã bị trùng lặp bởi các crate mới hơn và an toàn hơn
- Trong 2 năm qua, các binding Emscripten hầu như không còn được sử dụng, nên việc ngừng hỗ trợ và dọn dẹp dependency đã giúp xóa thuần 20.000 dòng mã khỏi codebase Wasmer
Cải thiện hiệu năng
- Giải tuần tự mô-đun hiện nhanh hơn tới 50% (tức là khi gọi
Module::deserialize hoặc chạy mô-đun qua wasmer run)
- Những cải tiến này tận dụng bản cập nhật quan trọng của rkyv, thư viện giải tuần tự zero-copy được dùng để giải tuần tự mô-đun
Trình biên dịch được nâng cấp: Cranelift và LLVM 18
- Nhờ tích hợp Cranelift mới nhất, tốc độ runtime được cải thiện đáng kể, giúp các mô-đun WebAssembly chạy nhanh hơn bao giờ hết
- Wasmer 5.0 hiện bao gồm phiên bản LLVM mới nhất (18), cho phép nhà phát triển tiếp cận các tối ưu hóa mới nhất của toolchain
- Bản nâng cấp LLVM cải thiện khả năng tương thích và hiệu năng, cung cấp nền tảng vững chắc để biên dịch và chạy các mô-đun WebAssembly phức tạp
- Wasmer 5.0 cũng đi kèm hỗ trợ LoongAarch64 ở mức thử nghiệm
- Kết quả benchmark
coremark với các phiên bản trình biên dịch mới nhất cho thấy LLVM và Cranelift trong Wasmer v5.0 nhanh hơn khoảng 8% so với v4.4.0
Ý kiến của GN⁺
- Việc phát hành Wasmer 5.0 có vẻ sẽ là một cột mốc lớn đối với hệ sinh thái WebAssembly. Đặc biệt, việc hỗ trợ iOS và cung cấp nhiều lựa chọn backend có thể mở rộng đáng kể phạm vi ứng dụng của WebAssembly sang cả mảng ứng dụng di động
- Bằng cách hỗ trợ nhiều runtime làm backend như V8, Wasmi, WAMR, các nhà phát triển giờ đây có thể chọn runtime phù hợp nhất với yêu cầu của mình. Điều này được kỳ vọng sẽ đóng góp lớn vào việc nâng cao tính linh hoạt và khả năng tương thích của WebAssembly
- Nỗ lực tối ưu hiệu năng thông qua việc tinh gọn codebase và áp dụng các trình biên dịch mới nhất cũng là điểm đáng chú ý. Điều này cho thấy Wasmer không chỉ dừng ở việc bổ sung tính năng mà còn liên tục đầu tư vào cải thiện chất lượng
- Mặt khác, việc ngừng hỗ trợ các binding Emscripten là điểm đáng tiếc, nhưng có vẻ là lựa chọn hợp lý khi nhu cầu dành cho chúng đã giảm do sự xuất hiện của các tiêu chuẩn mới như WASI và WASIX
- Tổng thể, Wasmer 5.0 là một bản phát hành thể hiện rõ sự phát triển của WebAssembly, và Wasmer được kỳ vọng sẽ tiếp tục là một trong những dự án chủ chốt dẫn dắt hệ sinh thái WebAssembly. Tuy vậy, vẫn cần những nỗ lực liên tục để nâng cao độ ổn định và mức độ trưởng thành của các tính năng còn đang ở giai đoạn thử nghiệm
1 bình luận
Ý kiến trên Hacker News