`wasm-opt -Oz` takes an inordinate amount of time
Los mantenedores suelen responder en 1 día
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
- Área
- compilers, performance
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
- Sin Dockerfile ni archivo de Docker Compose
- Sin 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 WebAssembly/binaryen
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
WebAssembly/binaryen#9207 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
WebAssembly/binaryen#9185 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
WebAssembly/binaryen#9135 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 Medio día Aptitud para principiantes 76/100
WebAssembly/binaryen#9018 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
WebAssembly/binaryen#9186 ·
Los mantenedores suelen responder en 1 día
Todos los issues de WebAssembly/binaryen
Issues similares
-
native-convergence self-host
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
JakeChampion/lang#11408 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
tree-sitter/tree-sitter#6005 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
objectionary/eo#9182 ·
Los mantenedores suelen responder en 1 día
-
E editing with a field wider than ~511 characters crashes (stack smashing in handle_decimal)Abiertobug format I/O llvm rt_lib
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
Los mantenedores suelen responder en 1 día
-
`augment class Str { proto method uc(|) {*} }` is accepted; Rakudo rejects a proto next to a method the type declaresPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertotodo:ticket
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día