Share & grow the worlds knowledge!
We want to connect the people who have knowledge to the people who need it, to bring together people with different perspectives so they can understand each other better, and to empower everyone to share their knowledge.
1 Answer
- Assembly (Hợp Ngữ) là ngôn ngữ ánh xạ được với ngôn ngữ máy, nó là ngôn ngữ để hệ điều hành giao tiếp với phần cứng
- WebAssembly thì sẽ cần đến ahead-of-time (AOT) or just-in-time (JIT) compiler để dịch ra ngôn ngữ máy tương ứng với môi trường mà nó chương trình đang chạy. Cụ thể hơn thì, ví dụ chúng ta có đoạn mã WebAssembly thế này:
// Code WebAssembly dạng typescript export function sum(a: i32, b: i32): i32 { return a + b; }
// Code WebAssembly đã được biên dịch ;; INFO asc module.ts --textFile module.wat --outFile module.wasm --bindings raw -O3 --runtime stub (module (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) (memory $0 0) (export "sum" (func $module/sum)) (export "memory" (memory $0)) (func $module/sum (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 i32.add ) )
Em có thể sử dụng công cụ này để kiểm tra: https://www.assemblyscript.org/
Thi khi em nạp cái đoạn code WebAssembly kia vào trình duyệt chẳng hạn, thì trình duyệt sẽ sử dụng trình dịch AOT hoặc JIT của mình để dịch và nạp đoạn code này vào máy ảo (cần tìm hiểu thêm là nạp vào máy ảo hay máy tính, nhưng anh đoán là máy ảo), nghĩa là trong máy ảo của em bây giờ sẽ có luôn hàm add
. Vậy thì thay vì như trước đây, mỗi lần gọi hàm add là lại phải thông dịch lại, thì giờ đây khi gọi hàm add thì nó sẽ được thực thi mà không cần phải trải qua bước thông dịch nữa. Như vậy hiệu năng sẽ được cải thiện đáng kể.
-
1
- Reply
- Questions 1.0K
- Answers 2.2K
- Best Answers 131
- Users 486
Related Questions
Recent Activities
-
Voted up question. January 9, 2023 at 2:54 pm
-
Voted up question. January 9, 2023 at 2:54 pm
-
Voted up question. January 9, 2023 at 2:54 pm
-
Voted up question. January 9, 2023 at 2:54 pm
-
Voted up question. January 9, 2023 at 2:54 pm