Đang thực hiện
Tên đăng nhập
Mật khẩu
 
Hoặc đăng nhập bằng:
Nhập lại mật khẩu

Trang chủ Tin tổng hợp
Tin tổng hợp

WebAssembly có tốc độ rất nhanh?

Cập nhật: 30/08/2018 Lượt xem: 112
Có thể bạn đã nghe 'WebAssembly có tốc độ rất nhanh'. Nhưng cái gì đã làm cho WebAssembly có tốc độ nhanh như thế?Trong bài này, tôi muốn giải thích cho bạn tại sao WebAssembly lại nhanh.

tai-sao-webassembly-lai-nhanh


Có thể bạn đã nghe "WebAssembly có tốc độ rất nhanh". Nhưng cái gì đã làm cho WebAssembly có tốc độ nhanh như thế?Trong bài này, tôi muốn giải thích cho bạn tại sao WebAssembly lại nhanh.
 

Đợi đã, vậy WebAssembly là gì?



WebAssembly hay wasm định nghĩa một Abstract Syntax Tree (AST) được lưu trữ dưới dạng nhị phân (binary format).

WebAssembly lấy mã được viết bằng các ngôn ngữ lập trình khác và chạy mã đó trong trình duyệt. Vì vậy, khi mọi người nói rằng WebAssembly rất nhanh, thì những gì họ nói có ý đang so sánh nó là JavaScript. 

Bây giờ, tôi không muốn nói ý là một trong hai tình huống - bạn đang sử dụng WebAssembly hoặc sử dụng JavaScript. Trong thực tế, nhà phát triển hi vọng rằng các lập trình viên sẽ sử dụng cả WebAssembly JavaScript trong cùng một ứng dụng. 

Nhưng nó rất tốt để so sánh, vì vậy bạn có thể hiểu được khả năng tác động và tiềm năng mà WebAssembly sẽ có.

 

Nói một chút về lịch sử hiệu suất



JavaScript được tạo ra vào năm 1995. Nó không được thiết kế để tạo ra hiệu suất nhanh, và trong thập kỷ đầu tiên, nó không nhanh. 

Sau đó, các trình duyệt bắt đầu trở nên cạnh tranh hơn. 

Trong năm 2008, một giai đoạn mà mọi người gọi là "Cuộc chiến tranh hiệu suất" đã bắt đầu. Nhiều trình duyệt đã bổ sung các trình biên dịch just-in-time, cũng được gọi là các JIT. Khi JavaScript đang chạy, JIT có thể thấy các pattern và làm cho mã chạy nhanh hơn dựa trên các pattern đó. 

Việc giới thiệu các JIT này dẫn đến một điểm uốn trong hiệu suất của JavaScript. Việc thực thi JS đã nhanh hơn gấp 10 lần.
tai-sao-webassembly-lai-nhanh-1

Với hiệu suất được cải thiện này, JavaScript bắt đầu được sử dụng cho cả lập trình phía máy chủ với Node.js.
tai-sao-webassembly-lai-nhanh-2

Tuy nhiên, thời điểm này chúng ta có thể ở một điểm uốn hiệu suất khác với WebAssembly.

Vì thế, bài sau tôi sẽ đi sâu vào các chi tiết để hiểu điều gì làm cho WebAssembly nhanh chóng.

 

Tư vấn viên 1: Lê Thoa
Tư vấn viên 2: Thu Huyền
Tuyển sinh lập trình viên quốc tế - MMS new vision
Khóa học C&B Excel - Trần Văn Hải