| <colcolor=#fff,#fff><bgcolor=#000,#000> Wasmtime | |
| <colbgcolor=#000,#000> 종류 | 런타임 환경 및 도구 |
| 개발 | Bytecode Alliance |
| 출시 | 2022년 9월 21일[1] |
| 최신 버전 | v49.0.1 (2026년 9월 25일) |
| 개발 언어 | Rust |
| 플랫폼 | Windows, macOS, Linux, Android |
| 라이선스 | Apache License 2.0 |
| 링크 | |
1. 개요
WebAssembly로 컴파일된 바이너리[2]를 실행하는 런타임 프로그램이다. 웹브라우저용 웹어셈블리와는 달리 주로 CLI에서 샌드박스처리된 애플리케이션을 실행하는 목적이다.2. WASM 파일 포맷
자체적인 libc 구현체 WASI를 사용한다.2.1. 빌드
- rust: rustup target list를 실행하면 wasm32-wasi와 같은 타겟이 있다. 설치하면 쉽게 컴파일된다.
- c/c++: wasi-sdk에서 제공하는 clang 컴파일러를 사용하면 wasm포맷으로 컴파일이 된다.
3. 기능
wasmtime compile (wasm 파일)을 실행하면 cwasm이란 파일이 생성되는데, 파일 구조가 네이티브 포맷이다.[3] 이 파일은 wasmtime --allow-precompiled (cwasm 파일) 명령어로 실행이 된다. 다만 sysv abi는 아니라서 wasmtime이 필요하다. 최적화를 위한 기능으로 보인다.이러한 추가기능들을 다 쳐낸 wasmtime-min바이너리도 존재한다.
4. 기타
클라우드플레어 서비스 Workers가 이걸 쓴다.멀티스레드가 아직 실험적 기능이다.