`are_co_aligned` is tokenizing too greedily causing to be possibly slow
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 38/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- python
- Área
- performance
Línea de trabajo
Empieza por dask_expr/_expr.py alrededor de are_co_aligned, en las líneas 2863-2874, y después reproduce el benchmark de optimización de parquet_reader descrito en el issue con un conjunto de datos más grande. Comprueba cómo afectan la tokenización y el Expr set al paso optimize y verifica que el cambio completado evita la ralentización y el comportamiento inseguro de set sin cambiar los resultados de alineación.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
The utility function are_co_aligned, see
is unfortunately rather slow due to the tokenization and lack of caching. in paruqet_reader benchmarks on larger datasets, I saw this slowing down the optimize step by almost a second (when using pyarrowFS such that filters are pushed down
On top of this, I believe the implementation is unsafe since it is putting Expr objects into a set. Sets and dicts are requiring both __hash__ and __eq__ to be implemented and working as the stdlib protocol defines them. While this is true for hash (it hashes the name, this is not the case for __eq__ since this just creates another Expr instance instead of returning a bool. I suspect this just tells how the set is redundant if there hasn't been ever a hash collision / duplicate object here.
- Lenguaje dominante
- Python
- Estrellas
- 89
- Forks
- 26
- Métricas de merge de PR
- Sin PR fusionados en 30 d
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 dask/dask-expr
-
Dificultad 4/5 3-5 días Aptitud para principiantes 38/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
-
Predicate pull-up optimizationAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 30/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 25/100
Todos los issues de dask/dask-expr
Issues similares
-
repo-audit
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
scverse/repo-health#20 ·
Los mantenedores suelen responder en 1 día
-
/context/prime scope override double-prefixes an entity-ref project and drops its scoped memoriesAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
phasespace-labs/palinode#232 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
collective/icalendar#1858 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
lfx-mcp cannot supply global variables: LangflowClient drops X-LANGFLOW-GLOBAL-VAR-* from envAbiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
langflow-ai/langflow#15496 ·
Los mantenedores suelen responder en 1 día