Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

`wasm-opt -Oz` takes an inordinate amount of time

Abierto
#7,319 11 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@jkbz64 ya está trabajando en esto.

Desde el 29/9/2026.

  • #9175 de @jkbz64 — abierto

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Necesita aclaración
Estado de actividad
Tranquilo
Stack tecnológico
wasm

Línea de trabajo

Comienza reproduciendo el problema mediante el punto de entrada wasm-opt, usando los niveles de optimización y las funcionalidades habilitadas indicados; el binario de prueba no está incluido en este issue. Compara el paralelismo y el tiempo de ejecución de -Os y -Oz con los de -O1 y -O2, y verifica después que cualquier cambio mejore el tiempo de optimización sin perder los resultados de tamaño indicados.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Firstly: yay, thank you for fixing the control-flow values issue in the parser! Binaryen can now work on Hoot's binaries. Thank you thank you!

I noticed a performance bug that you may be interested in, for -Oz.

optimization level bytes real time user time
original 5485027 - -
-O0 5835468 0.74s 1.18s
-O1 4810648 2.96s 65s
-O2 4664753 5.34s 104s
-Os 4378817 806s 1081s
-Oz 4278988 804s 1103s

This is a 32-logical-cpu system. As you can see, -Os / -Oz don't parallelize very well, and takes a bit too long to get useful results.

I can provide the test file, should that be of interest, though github doesn't seem to want to attach it. Enabled features are --enable-bulk-memory --enable-multivalue --enable-reference-types --enable-gc --enable-tail-call --enable-exception-handling.

Lenguaje dominante
WebAssembly
Estrellas
8.7k
Forks
893
Merge medio
1 d 17 h
PR fusionados (30 d)
76

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de WebAssembly/binaryen

Todos los issues de WebAssembly/binaryen

Issues similares

Más issues de Compilers

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.