Wasmi 2.0, M2 Pro 벤치마크에서 1.0보다 기하평균 2.2배 빨라져
- Rust 기반 WebAssembly 인터프리터 Wasmi 2.0이 8개월 개발 끝에 출시됐으며, Apple M2 Pro의 wasmi-benchmarks 실행 성능 기하평균에서 1.0보다 약 2.2배 빨라짐
- Wasmi 2.0은 Wasm3, WAMR fast-interpreter, Wasmtime Pulley, Makepad Stitch, Wasmi 1.0과 비교했으며 Apple M2 Pro, AMD EPYC 7763, Intel Xeon Platinum 8370C에서 재현 가능한 벤치마크를 실행함
- 실행 성능을 우선 개선했지만 시작 성능은 이전 버전과 대체로 비슷하게 유지됐고, Wasmtime Pulley는 시작 시간 그래프에 로그 축이 필요할 만큼 다른 런타임과 차이가 났음
- 새 validate 크레이트 기능으로 바이너리 크기를 줄일 수 있으며, 안정된 fuel metering, WebAssembly 결정론 프로필 지원, 개선된 Wasmi CLI도 포함됨
Hacker News opinions
네이티브 실행과 비교하면 어느 정도인지 궁금함. Wasmtime Pulley는 최적화 인터프리터인데, Wasmtime의 Cranelift 컴파일러와 비교하면 성능이 어떻게 되는지도 보고 싶음.
아직 네이티브에 근접한 수준은 아님. V8·JSC 같은 상위 Wasm 런타임은 JIT 단계를 포함하면 순수 수학 작업에서 네이티브보다 약 10% 느리고, 할당이 많은 작업에서는 보수적으로 봐도 최대 2배 느린데, 인터프리터만 보면 네이티브보다 한 자릿수 배수 이상 뒤처짐.