asm.js에 대하여
배경
- 파이어폭스 팀에서 개발
- 파이어폭스 차기버전 JavaScript 엔진(OdinMonkey)이 asm.js 지원 예정
- 모질라에서 asm.js를 이용하여 Epic의 언리얼 엔진3(heavy한 게임엔진)를 시연함
개요
- JavaScript의 subset
- 새로운 언어가 아님
- 기존 모든 브라우저에서 실행 가능함
- asm.js를 지원하지 않는 JavaScript 엔진도 asm.js 코드를 실행시킬 수 있음
- 변수 타입을 엄격하게 체크하는 문법을 정의(기존 JavaScript는 변수 선언시 타입을 지정하지 않음)
- 변수 타입을 엄격하게 정의하면 JIT(실행시간 컴파일) 뿐 아니라 AOT(Ahead Of Time: 실행전 컴파일)이 가능해짐
- 파이어폭스는 조만간 asm.js에 최적화된 컴파일러를 제공할 예정이며 벤치마크 결과는 "경이적"
전망
- 모질라는 기존 언어로 개발된 코드를 asm.js 코드로 변환해주는 도구 제공을 약속
- 특히 엄격한 타입 체킹 언어인 C/C++은 asm.js 코드로 변환하기에 최적인 언어
Reference
- Big Web App? Compile It!
http://kripken.github.io/mloc_emscripten_talk/#/
- [번역] asm.js : 컴파일러를 위한 low level, 고도로 최적화 가능한 JavaScript의 서브셋
- asm.js에 대해서
http://blog.outsider.ne.kr/927
(끝)