웹 어셈블리 인터프리터 인 wasm3이 첫 번째 버전을 출시했습니다.

W3

최근에 wasm3의 첫 번째 버전이 출시되었습니다., 즉 통역사 매우 빠른 중간 코드 WebAssembly 제작WebAssembly에 대한 JIT 구현이없는 마이크로 컨트롤러 및 플랫폼에서 주로 WebAssembly 애플리케이션을 실행하도록 설계되었으므로 JIT가 작동하거나 JIT 구현에 필요한 실행 가능한 메모리 페이지를 생성 할 메모리가 충분하지 않습니다.

WebAssembly에 익숙하지 않은 사람들은 이것이 저수준 언어, 처음에는 C 및 C ++에서 컴파일 할 때 대상 형식으로 설계되었지만 Rust 및 Go와 같은 다른 언어의 소스 코드도 지원합니다. 이 이식 가능한 바이너리 코드 형식은 클라이언트 측 브라우저에서 스크립트를 완전히 실행하는 데 사용됩니다.

wasm3 정보

Wasm3는 호환성 테스트를 통과했습니다. WebAssembly 1.0 사양 및 많은 WASI 애플리케이션을 실행하는 데 사용할 수 있습니다. JIT 엔진보다 4 ~ 5 배 낮은 성능을 제공하고 네이티브 코드 실행보다 11.5 배 낮은 성능을 제공합니다.

다른 공연자와 비교 WebAssembly (wac, life, wasm-micro-runtime)에서 wasm3은 15.8 배 더 빨랐습니다.

Wasm3는 연구 프로젝트로 시작되었으며 계속해서 많은 방법으로 계속되고 있습니다. 다양한 환경에서 모터를 평가하는 것은 조사의 일부입니다. Lua, JS, Python, Lisp, (…)가 MCU에서 실행되고 있기 때문에 WebAssembly는 실제로 유망한 대안입니다. 완전히 격리되고 잘 정의되고 예측 가능한 환경을 제공합니다. 실용적인 사용 사례 중에서 최첨단 컴퓨팅, 스크립팅, IoT 규칙 실행, 블록 체인 계약 등을 나열 할 수 있습니다.

와즘3 64Kb의 코드 메모리와 10Kb의 RAM이 필요합니다. 너 뭐야 프로젝트를 사용할 수 있습니다 WebAssembly에서 컴파일 된 애플리케이션 실행 같은 마이크로 컨트롤러에서 Arduino MKR *, Arduino Due, Particle Photon, ESP8266, ESP32, Air602 (W600), nRF52, nRF51 Blue Pill (STM32F103C8T6), MXChip AZ3166 (EMW3166), Maix (K210), HiFive1 (E310), AT40ga5 (ICE1284gaXNUMX), 뿐만 아니라 아키텍처 기반의 보드 및 컴퓨터 x86, x64, ARM, MIPS, RISC-V 및 Xtens.

Massey Meta Machine 기술을 사용하여 고성능을 달성합니다. (M3) 통역사에서, 바이트 코드 디코딩 오버 헤드를 줄이기 위해, 바이트 코드 사전에 번역 의사 기계 코드를 생성하는보다 효율적인 작업에서 스택 형 가상 시스템의 실행 모델이보다 효율적인 레지스터 접근 방식이됩니다. M3의 작업은 인수가 가상 시스템의 레지스터이며 CPU에 반영 될 수있는 C 함수입니다. 레지스터.

최적화를위한 빈번한 워크 플로는 요약 작업으로 바뀝니다.

또한, 연구 결과는 웹의 WebAssembly에서 Alexa가 평가 한 가장 인기있는 사이트 948 만 개를 분석 한 후 확인할 수 있습니다. WebAssembly는 1639 개 사이트 (0.17 %)에서 사용되며 이는 1 개 사이트 중 600 개입니다.

전체 웹 사이트는 1950 개의 WebAssembly 모듈의로드를 공개했으며 그중 150 개는 고유했습니다.

WebAssembly의 범위를 고려할 때 실망스러운 결론이 도출되었습니다. 사례의 50 % 이상에서 WebAssembly는 암호 화폐 채굴 (55,7 %) 및 악성 스크립트로부터 코드 숨기기 (0,2 %)와 같은 악의적 인 목적으로 사용되었습니다. .

지원되는 운영 체제 Wasm3의 경우 우리는 리눅스를 찾을 수 있습니다 OpenWRT 기반 라우터 포함, Windows, macOS, Android 및 iOS. 브라우저에서 인터프리터를 실행하거나 자체 호스팅을 위해 wasm3을 중간 WebAssembly 코드로 컴파일하는 것도 가능했습니다.

WebAssembly의 합법적 인 사용 중 라이브러리 실행 (38.8 %), 게임 생성 (3.5 %), 비 자바 스크립트 네이티브 코드 실행 (0.9 %)이 관찰되었습니다. 14,9 %의 사례에서 WebAssembly는 사용자 식별 (지문)을위한 환경을 분석하는 데 사용되었습니다.

wasm3 시도

자신의 시스템에서이 인터프리터를 사용하는 데 관심이있는 분들을 위해 문서와 프로젝트 코드를 참조 할 수 있습니다. C로 작성되고 MIT 라이센스에 따라 배포됩니다. 다음 링크에서.


기사의 내용은 우리의 원칙을 준수합니다. 편집 윤리. 오류를보고하려면 여기에.

코멘트를 첫번째로 올려

코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.