최근 수정 시각 : 2026-09-29 19:17:25

Wasmtime


<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
링크 파일:홈페이지 아이콘.svg 파일:GitHub 아이콘.svg파일:GitHub 아이콘 화이트.svg

1. 개요2. WASM 파일 포맷
2.1. 빌드
3. 기능4. 기타

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가 이걸 쓴다.

멀티스레드가 아직 실험적 기능이다.
[1] 1.0.0 릴리즈 날짜 기준[2] 네이티브 코드가 아닌 바이트코드이다.[3] 라눅스면 elf, 윈도우면 pe