serve: zero timeouts busy-spin the epoch thread
Los mantenedores suelen responder en 1 día
Ya se ha fusionado un pull request relacionado.
- #15143 de @xia-chao — fusionado
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- Medio día
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- rust, wasm
- Área
- cli, performance
Línea de trabajo
The busy loop is in EpochThread in src/commands/serve.rs, which calls sleep with the epoch interval derived from the timeout near line 746; the loop itself is near line 1263. Reproduce with wasmtime serve -Scli --post-return-timeout 0 and watch CPU use. Done means zero or sub-millisecond timeouts no longer spin the CPU, and the chosen behaviour (reject, clamp, or document) is agreed in the thread.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
wasmtime serve -W timeout=0 or --post-return-timeout 0 burns 100-220% CPU (same server without the flag: ~5%). A zero timeout makes the epoch interval zero (serve.rs:746), so EpochThread loops on sleep(0) (serve.rs:1263).
Reject zero and sub-millisecond values, clamp the thread interval, or document 0 as "time out immediately"?
Repro: wasmtime serve -Scli --post-return-timeout 0 <component>, then ps -o %CPU -p <pid>.
- Lenguaje dominante
- Rust
- Estrellas
- 18.8k
- Forks
- 1.9k
- Merge medio
- 1 d 3 h
- PR fusionados (30 d)
- 382
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de bytecodealliance/wasmtime
-
bug wasm-proposal:exceptions wasmtime:debugging
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
bytecodealliance/wasmtime#14102 ·
Los mantenedores suelen responder en 1 día
-
wasm-proposal:gc
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
bytecodealliance/wasmtime#13808 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 20/100
bytecodealliance/wasmtime#15193 ·
Los mantenedores suelen responder en 1 día
-
awfy performance
Dificultad 4/5 3-5 días Aptitud para principiantes 44/100
bytecodealliance/wasmtime#15192 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 46/100
bytecodealliance/wasmtime#15168 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de bytecodealliance/wasmtime
Issues similares
-
binding:python bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
coollabsio/orbit#72 ·
Los mantenedores suelen responder en 1 día
-
Synth suite fails unless run from the repo root: signal_flow's default machine path is cwd-relativeAbiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
Nimblesite/osprey#370 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
bug order-flow studies ui
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
userFRM/egui-charts#2417 ·
Los mantenedores suelen responder en 1 día