Câu chuyện kỹ thuật từ thời Windows còn chạy trình giả lập x86-32 trên nền tảng khác đã làm dậy sóng cộng đồng lập trình viên. Một đồng nghiệp kể rằng trình giả lập dùng kỹ thuật binary translation (dịch nhị phân) giống như JIT compiler, giúp chạy nhanh hơn nhiều so với cách thông dịch từng lệnh.
Vấn đề: Code 'tối ưu hóa' thành thảm họa
Một chương trình cần cấp phát 64KB bộ nhớ trên stack và khởi tạo nó. Thay vì dùng vòng lặp thông thường, trình biên dịch đã 'tối ưu hóa' bằng cách trải phẳng vòng lặp thành 65.536 lệnh ghi từng byte, mỗi lệnh 4 byte. Kết quả: 256KB code để khởi tạo 64KB dữ liệu, gấp 4 lần kích thước dữ liệu cần xử lý.
Điều này khiến đội ngũ phát triển trình giả lập phải thêm code đặc biệt để phát hiện và thay thế hàm 'tối ưu hóa' này bằng vòng lặp chuẩn ngay trong lúc giả lập. Câu chuyện nhấn mạnh rằng công nghệ dù tiên tiến đến đâu vẫn cần sự can thiệp của con người để tránh những lỗi ngớ ngẩn.
Tác động đến người dùng thông thường
Dù là câu chuyện từ thời xa xưa, nó cho thấy tầm quan trọng của việc tối ưu hóa phần mềm. Nếu không có những điều chỉnh như vậy, các ứng dụng hàng ngày như trình duyệt web hay game có thể chạy chậm gấp nhiều lần, gây lãng phí tài nguyên hệ thống. Đây cũng là bài học cho các startup và kỹ sư AI khi xây dựng thuật toán: đôi khi giải pháp đơn giản lại hiệu quả hơn là 'tối ưu hóa' phức tạp.






