Wasmer 2.0 đã được phát hành và đi kèm với SIMD, các cải tiến và hơn thế nữa

Sau gần sáu tháng kể từ khi ra mắt phiên bản đầu tiên, sự ra mắt của phiên bản mới của dự án Wasmer đã được công bố, nằm trong phiên bản chính thứ hai của nó và trong đó các thay đổi quan trọng đã được thực hiện đến mức các API nội bộ trong phiên bản thứ hai này không tương thích, mặc dù các tính năng mới cũng đã được thêm vào để bổ sung các cải tiến về tính ổn định, bảo mật và hiệu suất.

Dành cho những ai chưa biết Wasmer, bạn nên biết rằng nó phát triển thời gian chạy để thực thi các mô-đun WebAssembly có thể được sử dụng để tạo các ứng dụng phổ quát có thể chạy trên nhiều hệ điều hành và chạy mã không đáng tin cậy một cách riêng biệt.

Khả năng di động được cung cấp bằng cách biên dịch mã ứng dụng thành phần mềm trung gian WebAssembly cấp thấp Nó có thể chạy trên bất kỳ hệ điều hành nào hoặc được tích hợp vào các chương trình bằng các ngôn ngữ lập trình khác. Các chương trình là các vùng chứa nhẹ chạy mã giả WebAssembly.

Những vùng chứa không bị ràng buộc với hệ điều hành và có thể bao gồm mã được viết ban đầu bằng bất kỳ ngôn ngữ nào lập trình. Bộ công cụ Emscripten có thể được sử dụng để biên dịch sang WebAssembly. Để dịch WebAssembly sang mã máy của nền tảng hiện tại, việc kết nối các phụ trợ xây dựng khác nhau (Singlepass, Cranelift, LLVM) và công cụ (sử dụng JIT hoặc tạo mã máy) được hỗ trợ.

Kiểm soát truy cập và tương tác với hệ thống được cung cấp thông qua API WASI (WebAssembly System Interface), cung cấp giao diện lập trình để làm việc với tệp, ổ cắm và các chức năng khác do hệ điều hành cung cấp.

Các ứng dụng được cách ly khỏi hệ thống chính và họ chỉ có quyền truy cập vào chức năng đã khai báo (cơ chế bảo mật dựa trên khả năng quản lý các hành động với từng tài nguyên (tệp, thư mục, ổ cắm, lệnh gọi hệ thống, v.v.).

Những điểm mới chính của Wasmer 2.0

Trong phiên bản mới này được trình bày, nó được đề cập rằng sự thay đổi đáng kể về số phiên bản bởi Wasmer liên quan đến việc đưa ra các thay đổi về tính không tương thích đối với API nội bộ, mà theo các nhà phát triển, sẽ không ảnh hưởng đến 99% người dùng từ nền tảng theo bất kỳ cách nào.

Cũng có một sự thay đổi trong định dạng của các mô-đun Wasm được tuần tự hóa trong số những thay đổi lớn về khả năng tương thích (các mô-đun được tuần tự hóa trong Wasmer 1.0 sẽ không thể sử dụng được trong Wasmer 2.0).

Bên cạnh đó, hỗ trợ cho các hướng dẫn SIMD được đánh dấu (Hướng dẫn đơn, Nhiều dữ liệu) cho phép song song các hoạt động dữ liệu. Các lĩnh vực mà việc sử dụng SIMD có thể tăng năng suất đáng kể bao gồm học máy, mã hóa và giải mã video, xử lý hình ảnh, mô phỏng quy trình vật lý và thao tác đồ họa.

Ngoài ra hỗ trợ cho các loại tham chiếu được đánh dấu, cho phép các mô-đun Wasm truy cập thông tin trong các mô-đun khác hoặc trong môi trường cơ sở và việc tối ưu hóa hiệu suất đáng kể đã được thực hiện. Tốc độ thời gian chạy LLVM với các số dấu phẩy động đã được tăng lên khoảng 50%.

Các lệnh gọi hàm đã được tăng tốc đáng kể bằng cách giảm các tình huống yêu cầu lệnh gọi hạt nhân. Hiệu suất của bộ tạo mã Cranelift đã được tăng lên 40%. Giảm thời gian giải mã dữ liệu. Để phản ánh chính xác hơn ý chính, tên engine đã được thay đổi: JIT → Universal, Native → Dylib (Dynamic Library), Object File → StaticLib (Static Library).

Cuối cùng Nếu bạn muốn tìm hiểu thêm về Wasmer, bạn nên biết rằng mã dự án được viết bằng Rust, nó có giấy phép MIT và bạn có thể kiểm tra chi tiết của nó trên trang web chính thức của nó tại liên kết theo dõi.

Cài đặt thời gian chạy Wasmer

Mặt khác, đối với những người quan tâm đến việc có thể chạy vùng chứa WebAssembly, bạn chỉ cần cài đặt thời gian chạy Wasmer trên hệ thống của mình mà không cần phụ thuộc bên ngoài.

Điều quan trọng là phải đề cập đến Wasmer có thể chạy trên mọi nền tảng macOS, Linux và Windows, yêu cầu duy nhất là thời gian chạy của nó phải được cài đặt trên hệ thống của bạn.

Để thực hiện việc này, chỉ cần chạy lệnh sau trong một thiết bị đầu cuối:

curl https://get.wasmer.io -sSfL | sh

Và sau đó, họ phải thực thi tệp được yêu cầu:

wasmer test.wasm

Nếu bạn cần biết thêm về cách Wasmer hoạt động hoặc muốn biết mã nguồn của nó, bạn có thể tham khảo tất cả những điều đó Trong liên kết sau đây.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: AB Internet Networks 2008 SL
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.