Một sinh viên đại học đã tạo ra WATaBoy, một dự án mã nguồn mở chứng minh rằng việc JIT (just-in-time) các lệnh Game Boy thành WebAssembly (Wasm) có thể đánh bại interpreter chạy native trên máy tính. Điều này nghe có vẻ ngược đời, bởi WebAssembly vốn là một định dạng bytecode chạy trong trình duyệt. Nhưng nhờ cơ chế JIT mạnh mẽ của JavaScriptCore (WebKit), Wasm được biên dịch thành mã máy native, khiến hiệu năng vượt trội hơn hẳn một interpreter truyền thống.

Bước đột phá cho emulator trên iOS

Vấn đề nan giải với các trình giả lập như Dolphin (mô phỏng GameCube/Wii) là Apple hạn chế JIT trên iOS. Tuy nhiên, trình duyệt web lại là ngoại lệ. WATaBoy tận dụng ngoại lệ này: thay vì sinh mã máy trực tiếp, nó sinh Wasm, sau đó trình duyệt JIT hóa Wasm thành mã máy native. Kết quả là trình giả lập Game Boy chạy trên trình duyệt web có thể đạt tốc độ nhanh hơn trình thông dịch native trên desktop. Điều này mở ra hy vọng cho các trình giả lập ngốn CPU trên iPhone.

Ý nghĩa với người dùng phổ thông

Đối với game thủ, điều này có nghĩa là họ có thể chơi Game Boy ngay trên iOS. Nhưng rộng hơn, kỹ thuật "JIT-to-Wasm" có thể áp dụng cho nhiều loại trình giả lập khác. Dự án này không chỉ là một bài tập học thuật, nó là minh chứng cho thấy cộng đồng mã nguồn mở vẫn luôn tìm ra cách vượt qua rào cản của các nền tảng đóng. Và nếu Apple tiếp tục nới lỏng hạn chế JIT, tương lai của ứng dụng di động sẽ còn thú vị hơn. Xem thêm tin công nghệ và AI.