초안 WebAssembly 2.0 표준 출시 

W3C 공개 최근 포스팅을 통해 새로운 사양의 초안 의 준비 코드를 표준화하는 WebAssembly 2.0 및 관련 API 브라우저와 하드웨어 플랫폼 간에 이식 가능한 고성능 응용 프로그램을 만들 수 있습니다.

WebAssembly를 처음 사용하는 사람들은 다음을 알아야 합니다. 이것은 일반 미들웨어를 제공합니다, 낮은 수준 및 브라우저 독립적, 컴파일된 응용 프로그램 실행 다양한 프로그래밍 언어에서. WebAssembly용 JIT를 사용하면 네이티브 코드에 가까운 수준의 성능을 얻을 수 있습니다.

웹어셈블리 정보

WebAssembly 브라우저에서 고성능 작업을 수행하는 데 사용할 수 있습니다.C/C++와 같은 컴파일된 언어로 작성된 코드를 실행하여 비디오 인코딩, 오디오 처리, 3D 및 그래픽 조작, 게임 개발, 암호 연산 및 수학 계산과 같은 작업을 수행합니다.

WebAssembly의 주요 작업 중에는 이식성 제공, 행동 예측 가능성 및 다양한 플랫폼에서 코드 실행 ID 제공이 있습니다. 최근 WebAssembly는 브라우저에 국한되지 않고 모든 인프라, 운영 체제 및 장치에서 안전한 코드 실행을 위한 범용 플랫폼으로 승격되었습니다.

WebAssembly 2.0 초안 정보

WebAssembly 이후 변경된 사항 중 WebAssembly 2.0에 대한 완성된 제안은 고정 너비 SIMD, 대용량 메모리 작업, 참조 유형, WebAssembly i64에 대한 JavaScript BigInt 지원, 다중 반환 값 지원 및 변경 가능한 가져오기/내보내기입니다. 전역 변수.

W3C는 WebAssembly 2.0 사양 초안 XNUMX가지를 발표했습니다.

  1. 웹 어셈블리 코어: 중간 WebAssembly 코드를 실행하기 위한 저수준 가상 머신을 설명합니다. WebAssembly와 관련된 리소스는 Java ".class" 파일과 유사한 ".wasm" 형식으로 제공되며 이 파일에는 해당 데이터와 함께 작동하는 정적 데이터 및 코드 세그먼트가 포함되어 있습니다.
  2. WebAssembly JavaScript 인터페이스 : JavaScript와의 통합을 위한 API를 제공합니다. WebAssembly 함수에 값을 가져오고 매개변수를 전달할 수 있습니다. WebAssembly 실행은 JavaScript 보안 모델을 따르며 호스트와의 모든 상호 작용은 JavaScript 코드를 실행하는 것과 유사한 방식으로 수행됩니다.
  3. WebAssembly 웹 API : ".wasm" 리소스를 요청하고 실행하기 위한 Promise 메커니즘을 기반으로 API를 정의합니다. WebAssembly 리소스 형식은 파일이 완전히 다운로드될 때까지 기다리지 않고 실행을 시작하도록 최적화되어 웹 애플리케이션의 응답성을 향상시킵니다.

WebAssembly와 WebAssembly 2.0의 차이점

또한 표준의 첫 번째 버전과 비교하여 WebAssembly 2.0에 몇 가지 중요한 변경 사항이 있다는 점에 유의해야 합니다.

  • v128 벡터 유형 지원 여러 숫자 값에 대해 병렬로 연산을 수행할 수 있는 관련 벡터 명령어(SIMD, 단일 명령어, 다중 데이터).
  • 변경 가능한 전역 변수 가져오기 및 내보내기 기능, C++에서 스택 포인터로 값에 대한 전역 바인딩을 허용합니다.
  • float를 int로 변환하는 새로운 지침결과 오버플로에 대해 예외를 발생시키는 대신 가능한 최소 또는 최대 값을 반환합니다(SIMD에 필요함).
  • 정수 부호 확장 지침 (부호와 값을 유지하면서 숫자의 비트 깊이 증가).
  • 블록 및 함수별로 여러 값 반환 지원 (또한 여러 매개변수를 함수에 전달).
  • JavaScript 함수 BigInt64Array 및 BigUint64Array 구현 JavaScript 유형 BigInt와 64비트 정수의 WebAssembly 표현 사이를 변환합니다.
  • 참조 유형 지원 (funcref 및 externref) 및 관련 문(select, ref.null, ref.func 및 ref.is_null).
  • memory.copy, memory.fill, memory.init 및 data.drop 명령어 메모리 영역 간에 데이터를 복사하고 메모리 영역을 삭제합니다.
  • 테이블의 직접 액세스 및 수정 지침 (table.set, table.get, table.size, table.grow).
  • 하나의 모듈에서 여러 테이블 생성, 가져오기 및 내보내기 기능. 배치 모드에서 테이블을 복사/채우는 기능(table.copy, table.init 및 elem.drop).

마지막으로, 그것에 대해 더 알고 싶다면 자세한 내용을 참조하십시오. 다음 링크에서.


코멘트를 남겨주세요

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

*

*

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