Amazon Prime Video dùng WebAssembly để hỗ trợ 8.000 loại thiết bị
(amazon.science)-
Hiện đang hỗ trợ 8.000 thiết bị như máy chơi game, TV, set-top box, streaming stick, v.v.
-
Mỗi lần cập nhật đều phải phát hành native riêng cho từng loại
→ Vì vậy, thay vì JavaScript, họ sử dụng WASM để tăng độ ổn định và cải thiện tốc độ
- Trước đây dùng một JavaScript VM viết bằng C++ và ứng dụng viết bằng JavaScript
→ Hiện nay chạy đồng thời JavaScript VM và WebAssembly VM (trên các thiết bị cũ chưa hỗ trợ WASM thì chỉ dùng JavaScript)
→ Chuyển các hệ thống mức thấp từ JavaScript sang WASM và cũng cập nhật binary WASM
→ Biên dịch mã viết bằng Rust sang WASM để chạy (nhanh hơn JavaScript từ 10 đến 25 lần)
-
Dự kiến sẽ chuyển thêm nhiều hệ thống sang WASM để đạt 60FPS và cải thiện độ trễ đầu vào
-
WASM VM cùng toàn bộ module và instance riêng của nó chỉ khoảng 7,5MB, nhờ đó tiết kiệm 30MB bộ nhớ heap JavaScript
→ Vì nhiều thiết bị được phân phối có bộ nhớ rất nhỏ nên mức sử dụng bộ nhớ là yếu tố quan trọng
-
Module WASM khi nén chỉ khoảng 150kb nên thời gian khởi động cũng rất ngắn
-
Một trong những lợi thế của việc dùng Rust là có thể tận dụng các thư viện chất lượng cao (như egui)
-
Khoản đầu tư vào Rust và WebAssembly đã mang lại kết quả
→ Trong khoảng 1 năm, với 37.000 dòng mã Rust, họ đã cải thiện hiệu năng, độ ổn định, mức tiêu thụ CPU và giảm mức sử dụng bộ nhớ
Chưa có bình luận nào.