http://badassjs.com/post/43420901994/asm-js-a-low-level-highly-optimizable-subset-of
다른 언어로 짜여진 라이브러리를 javascript에서 사용하거나 native수준의 성능을 요구하는 javascript lib를 위한 asm.js 아시나요? 스크립트 언어는 늘 성능과 비용이 골치거리인데 asm.js 에 따라 선언된 코드를 AOT 컴파일하여 성능을 올리고자 하는 프로젝트네요. 기존 javascript의 구문 선언을 사용하기 때문에 구버전의 브라우저에서도 동작한다고 합니다. 이 말은, 각 벤더별 javascript engine에서 사용 가능하고 후에 EMCA 표준으로 책정되면 더 많은 지원을 받을 수 있다는 뜻이기도 합니다.
이 프로젝트의 재밌는 점은 두 가지 인데요.
unity도 포팅 작업에 착수했다고 하는데 javascript의 특성상 코드 보호가 불가능한데 이 문제는 어떻게 해결할지 궁금하기도 하네요.
다른 하나는 이와 같은 발상 = '스크립트 언어를 네이티브 성능이 나오게 사용하고 싶다.' = 를 다른 스크립트 언어에서도 했거나 하고자 한다면 선택 (스크립트 언어 컴파일러 개발)은 LLVM 외에 대안이 없으니 LLVM을 선택한다면 모든 언어가 통합되게 됩니다. 모든 스크립트 언어가 LLVM을 사용하여 native 컴파일을 지원한다면 역으로 모든 스크립트 언어는 다른 모든 스크립트 언어로 바꿀 수 있게 된다는 뜻입니다.(컴파일 언어는 덤) 사실 이런 움직임은 mono의 등장과 함께 시작했으나 ms가 특허를 풀지 않아 지연되었고, 각 스크립트 언어가 점차 성능 향상을 원하는 움직임이 많아지면서 LLVM 기반으로 완성될 기회가 온게 아닌가 싶습니다.