perf: optimize nested foldl in Glushkov/Matcher.lean step/initialStep (O(n²) → O(n log n))
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Refactorización
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Área
- compilers, performance
Línea de trabajo
Comienza en Lck/Regex/Glushkov/Matcher.lean, centrándote en step e initialStep en las líneas citadas y siguiendo sus operaciones foldl anidadas. Compara estructuras de datos candidatas para conjuntos de estados con el comportamiento actual; se considera terminado cuando se conservan los resultados de coincidencia y se reduce la complejidad por paso de O(n²) hacia O(n log n).
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Problem
The step and initialStep functions in Lck/Regex/Glushkov/Matcher.lean (lines 45-55, 65-75) use nested foldl operations that produce O(n²) complexity for large NFAs.
Impact
For a pattern with n positions, each step scans all active states and for each computes a set union — resulting in O(n²) per character of input.
Suggested Fix
Consider using a more efficient data structure (e.g., a bitset or sorted set with efficient union) to bring the per-step cost to O(n log n).
References
Raised in AI code review.
- Lenguaje dominante
- Lean
- Estrellas
- 2
- Forks
- 1
- Métricas de merge de PR
- Sin PR fusionados en 30 d
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 lambdaclass/lambda_compiler_kit
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 68/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
enhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 50/100
Todos los issues de lambdaclass/lambda_compiler_kit
Issues similares
-
mlir
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
llvm/llvm-project#224908 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
area-CodeGen-coreclr untriaged
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
secondlife/sl-vscode-plugin#147 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
objectionary/phie#149 ·