👾 Web assembly on Browser 👾
WebAssembly, LLVM 많이들 들어보셨을 겁니다. 그런데 왜 그걸 써야하는지, 언제 써야하는지를 잘 알려주는 글은 별로 없죠.
어제 올라온 이 따끈따끈한 아티클은 Wasm에 대해 놀랍도록 쉽게 설명합니다. Intermediate language 와 compiler optimization 에 대한 전문지식이 없더라도 이해할 수 있게끔 말이죠.
🤷 Javascript의 대체품인가? 🤷
`WebAssembly was created to complement the existing web ecosystem: it is not a replacement for JavaScript by any means.`
WebAssembly는 Javascript를 대체하기 위해 나온게 아닙니다. 퍼포먼스를 위해서 나온 보조재일 뿐이죠. wasm은 웹과 application 의 벽을 허물어 버립니다. 정말 성능좋은 게임도 웹에서 가능할 수 있다는 이야기죠.
🤷 그래서 언제 쓰면 되나? 🤷
`Many projects have already been ported into Wasm, including games, image codecs, machine learning libraries, and even language runtimes.`
퍼포먼스가 중요한 cpu-bound job 을 많이 실행시키는 경우 써야 합니다. 예를 들자면 동영상 압축, 복잡한 암호화 알고리즘, 머신러닝 등에 사용하면 높은 성능을 기대할 수 있죠.
Javascript만큼 편하지는 않지만 WebAssembly 를 잘 쓰면 기존 javascript로는 불가능 했던 것들을 할 수 있게 될겁니다.