대상 작업 선정
짧은 UI 로직보다 계산량이 크고 반복되는 작업에서 WASM의 장점이 드러납니다.
workloadWebAssembly는 C, C++, Rust 같은 언어로 만든 코드를 브라우저에서 실행할 수 있게 하지만, 모든 JavaScript를 대체하지 않습니다. JS와 WASM 사이를 오가는 비용, 메모리 모델, 빌드 체인을 함께 설계해야 효과가 납니다.
짧은 UI 로직보다 계산량이 크고 반복되는 작업에서 WASM의 장점이 드러납니다.
workload원본 언어를 wasm 모듈로 빌드하고 브라우저에서 fetch, compile, instantiate 과정을 거칩니다.
moduleWASM은 선형 메모리를 쓰므로 문자열과 객체를 JS와 주고받을 때 변환 비용이 생깁니다.
memory작은 함수를 수천 번 호출하기보다 큰 덩어리 작업을 넘겨 호출 횟수와 복사를 줄입니다.
경계계산량 큼 + 데이터 이동 적음 + 반복 호출 줄일 수 있음 -> WASM 후보
DOM 조작 많음 + 작은 함수 자주 호출 -> JS 유지 후보