• Yamha
  • IE9 gian lận khi kiểm định Javascript

    10:0419/11/2010

    Một kĩ sư Mozilla đã khám phá ra rằng, Internet Explorer 9 có thể đã gian lận trong quá trình kiểm định chuẩn SunSpider.

     
    SunSpider, được phát triển bởi Apple, là phép đo chuẩn mực quen thuộc cho các trình duyệt JavaScript.

    Trong khi Rob Sayre tiến hành kiểm định Firefox 4 với các trình duyệt khác nhau, anh đã chú ý đến Internet Explorer 9 – Internet Explorer 9 có tốc độ nhanh hơn khoảng 10 lần so với các trình duyệt khác. Trong khi Chrome và Opera chỉ đạt đến tốc độ 10ms thì ở IE9 là 1ms.

    Sayre kiểm tra lại bằng cách thay đổi mã chuẩn mà SunSpider sử dụng bằng 2 kí hiệu thay đổi là "true" và "return". Điều này thực chất không ảnh hưởng đến quá trình kiểm định.

    Nhưng kết quả thật đáng ngạc nhiền. IE9 trong chuẩn mã mới chậm hơn 20 lần so với chuẩn mã ban đầu. Thay cho con số 1ms trong lần thử nghiệm đầu tiền là 20ms trong chuẩn kiểm tra tiếp theo.

    IE 9
     

    Lẽ ra kết quả ứng với Cordic ( đây là mã sử dụng ban đầu) phải không quá sai khác với 2 kết quả mới. Nhưng điều này chỉ đúng với Google Chrome và Opera.

    IE9
    IE9
     

    Có thể thấy rõ ràng rằng kết quả 3 lần kiểm tra với 3 chuẩn mã của Chrome luôn trong khoảng 9.6ms và của Opera là 7.7ms.

    Microsoft lền tiếng đổ lỗi cho sự thay đổi mã. Nhưng họ không đưa ra bất kì giải thích nào cho việc tại sao thay đổi mã lại dẫn đến những kết quả quá sai khác như vậy. Trong khi về nguyền tắc, thay đổi mã không hề ảnh hưởng đến chức năng kiểm định.

    Phương Vũ




    Gửi nhận xét về bài viết:
    Họ tên:    Email:
    Nội dung:
    • DTTD