이 글은 모질라 Hacks의 웹어셈블리 시리즈 중 첫 번째 글인 A cartoon intro to WebAssembly의 번역글이다. 전 시리즈에 걸쳐 웹어셈블리 뿐만 아니라 JIT나 어셈블리 등에 대해서도 체계적으로 잘 설명하고 있고, 카툰까지 곁들여서 이해하기도 쉽다.
총 6부로 되어 있으며, 원작자의 허가를 얻어 전체 시리즈를 모두 번역했으니 처음부터 차례대로 모두 읽어보길 권한다.
웹어셈블리는 자바스크립트가 아닌 다른 프로그래밍 언어로 작성된 코드를 브라우저에서 실행시키기 위한 방법이다. 그래서 사람들이 웹어셈블리가 빠르다고 이야기하는 건, 자바스크립트와 비교했을 때 빠르다는 말이다.
지금 나는 자바스크립트나 웹어셈블리 둘 중의 하나만 선택해야 한다고 말하고 싶은 것이 아니다. 사실, 우리는 개발자들이 동일한 어플리케이션에서 웹어셈블리와 자바스크립트를 모두 사용하기를 기대한다.
하지만 두 언어를 비교해서 웹어셈블리가 가진 잠재적 효과를 이해할 수 있다면 유용할 것이다.
성능에 대한 약간의 역사
자바스크립트는 1995년에 만들어졌다. 자바스크립트는 빠르게 동작하도록 디자인되지 않았으며, 처음 10년동안은 실제로 빠르지 않았다.
그 이후에 브라우저들의 경쟁이 시작되었다.
2008년에 사람들이 성능 전쟁이라고 말하는 기간이 시작되었다. 많은 브라우저들이 저스트-인-타임(Just-in-time) 컴파일러, 즉 JIT를 장착했다. 자바스크립트가 실행되는 동안, JIT는 패턴들을 살펴볼 수 있었고, 이들 패턴을 기반으로 코드를 더 빨라지도록 만들었다.
JIT가 등장하면서 자바스크립트의 성능에는 변곡점이 생겼다. 자바스크립트의 실행 속도가 10배는 빨라진 것이다.
이런 성능 향상에 힘입어, 자바스크립트는 Node.js를 이용한 서버사이드 프로그래밍 등과 같이 이전까지는 누구도 상상할 수 없었던 곳에서 사용되기 시작했다. 성능의 향상은 자바스크립트를 전혀 새로운 영역에서도 사용할 수 있도록 만들어 주었다.
번역해주신 글들을 통해서 웹 어셈블리뿐만 아니라 전체적인 흐름에 대해서까지 이해해 큰 도움이 되었습니다.
감사합니다!!
LikeLike