Improve compile times
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Refactorización
- Claridad
- Necesita aclaración
- Estado de actividad
- Tranquilo
- Stack tecnológico
- cpp
- Área
- compilers, performance
Línea de trabajo
Empieza revisando la checklist, el ejemplo de Godbolt y la discusión enlazada de CWG2369 para entender el problema del tipo de retorno; Templight es la herramienta mencionada para crear perfiles de instanciaciones de plantillas. Darlo por terminado requeriría mejoras medibles en el tiempo de compilación a través de varias refactorizaciones propuestas, pero el issue no especifica archivos, tests ni un objetivo acotado.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
- Apply "SCARY iterator"-like refactorization of class templates to minimize the number and complexity of class template arguments.
- No local classes in function templates. That includes lambdas.
- Bring down mangled name length to speed up debug builds.
- Investigate where complicated function template return types are being computed unnecessarily. See https://godbolt.org/z/Mqhj7voxq for an example. See cwg2369 for the core issue.
- Use Templight to get a compile-time flame graph and prune expensive template instantiations.
- Replace internal use of heavyweight types (
std::tuple,std::optional,std::variant) with more lean custom types. Seemanual_lifetimeandmanual_lifetime_unionin libunifex. See my prototype lambda-based tuple implementation in this gist.
- Lenguaje dominante
- C++
- Estrellas
- 2.4k
- Forks
- 270
- Merge medio
- 2 d 16 h
- PR fusionados (30 d)
- 43
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
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 NVIDIA/stdexec
-
inline_scheduler's namespace-scope static_assert fails under nvcc (private nested __sender access) Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 65/100
Todos los issues de NVIDIA/stdexec
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
duckdb/duckdb-wasm#2258 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
objectionary/eo-graphs#75 ·
-
Coarray integration tests carry no LABELS, so run_tests.py silently skips them under every backend Abiertocoarray
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
FISCO-BCOS/FISCO-BCOS#5642 ·