Wasm 2.0 공식 릴리즈

8 hours ago 1

  • Wasm 2.0 스펙이 공식적으로 발표됨
  • Wasm Community와 Working Groups가 2022년부터 스펙을 완성했고, 주요 구현체는 이미 2.0을 지원하고 있었음
  • 2.0부터는 에버그린 모델이 도입되어, Candidate Recommendation 문서가 지속적으로 최신 상태로 갱신됨
  • 새 버전이 발표될 때마다 최종 권고안으로 이동시키지 않고, 현재의 권고안 초안이 표준으로 간주됨

Wasm 2.0의 주요 기능 및 추가 사항

  • 벡터 명령어(SIMD): 236개의 새로운 명령어 추가로 현대 CPU의 128비트 SIMD 기능 활용 가능, 고성능 오디오/비디오 코덱, 머신러닝, 암호화 등에 효율적임
  • 벌크 메모리 명령어: 메모리와 테이블의 빠른 복사 및 초기화가 가능한 명령어 세트 추가됨
  • 멀티-밸류 반환: 함수와 블록에서 여러 값을 반환할 수 있어 호출 규약이 개선되고, 추가적인 프로그램 변환이 가능해짐
  • 레퍼런스 타입: 함수에 대한 참조나 외부 객체(예: JavaScript 값) 포인터를 불투명한 1급 값으로 지원, 테이블이 이 레퍼런스 값의 저장소로 활용될 수 있음, 테이블을 다루는 명령어 및 다중 테이블 정의가 가능해짐
  • 논트래핑 변환: 부동소수점에서 정수로의 변환 시 예기치 않은 트랩이 발생하지 않는 변환 명령어 도입됨
  • 서명 확장 명령어: 부호 있는 정수의 폭을 직접 확장하는 명령어가 추가되어 이전보다 메모리 접근 없이 확장이 가능해짐

하위 호환성 및 향후 전망

  • Wasm 2.0은 1.0과 완벽하게 호환되어 기존 프로그램이 그대로 동작함
  • Wasm 3.0 출시도 곧 예정되어 있음

Read Entire Article