Amazon Prime Video รองรับอุปกรณ์ 8,000 ประเภทด้วยการใช้ WebAssembly
(amazon.science)-
ปัจจุบันรองรับอุปกรณ์ 8,000 ประเภท เช่น เกมคอนโซล ทีวี เซ็ตท็อปบ็อกซ์ และสตรีมมิงสติก
-
ทุกครั้งที่อัปเดต ต้องออกเนทีฟรีลีสแยกสำหรับแต่ละแพลตฟอร์ม
→ เพื่อแก้ปัญหานี้ จึงใช้ WASM แทน JavaScript เพื่อเพิ่มความเสถียรและปรับปรุงความเร็ว
- เดิมใช้แอปที่เขียนด้วย JavaScript ร่วมกับ JavaScript VM ที่เขียนด้วย C++
→ ปัจจุบันรันทั้ง JavaScript VM และ WebAssembly VM พร้อมกัน (บนอุปกรณ์รุ่นเก่าที่ยังไม่รองรับ WASM จะใช้เฉพาะ JavaScript)
→ ย้ายระบบระดับล่างจาก JavaScript ไปยัง WASM และอัปเดตไบนารี WASM ด้วย
→ คอมไพล์โค้ดที่เขียนด้วย Rust เป็น WASM แล้วนำมารัน (เร็วกว่า JavaScript 10–25 เท่า)
-
มีแผนจะย้ายระบบเพิ่มเติมไปยัง WASM เพื่อให้ได้ 60FPS และลด input latency
-
WASM VM มีขนาดรวมทั้งโมดูลและอินสแตนซ์เพียงราว 7.5MB จึงประหยัดหน่วยความจำ JavaScript Heap ได้ 30MB
→ เนื่องจากอุปกรณ์จำนวนมากที่ต้องแจกจ่ายมีหน่วยความจำจำกัดมาก การใช้หน่วยความจำจึงเป็นปัจจัยสำคัญ
-
โมดูล WASM เมื่อบีบอัดแล้วมีขนาดเพียงราว 150kb ทำให้เวลาเริ่มต้นทำงานสั้นมาก
-
ข้อดีอย่างหนึ่งของการใช้ Rust คือสามารถใช้ไลบรารีคุณภาพสูงได้ (เช่น egui)
-
การลงทุนใน Rust และ WebAssembly เริ่มเห็นผลลัพธ์แล้ว
→ ตลอดเวลาประมาณ 1 ปี ด้วยโค้ด Rust 37,000 บรรทัด ได้ปรับปรุงประสิทธิภาพ ความเสถียร และการใช้ CPU พร้อมทั้งลดการใช้หน่วยความจำลง
ยังไม่มีความคิดเห็น