Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

perf: optimize nested foldl in Glushkov/Matcher.lean step/initialStep (O(n²) → O(n log n))

未关闭
#14 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
5/5
预计耗时
一周以上
新手友好度
35/100
Issue 类型
重构
描述清晰度
基本清楚
活跃度
停滞

调研方向

从 Lck/Regex/Glushkov/Matcher.lean 开始,重点查看所引用行中的 step 和 initialStep,并跟踪它们嵌套的 foldl 操作。将候选的状态集数据结构与当前行为进行比较;完成的标准是在保持匹配结果不变的同时,将每步复杂度从 O(n²) 降低到接近 O(n log n)。

由索引模型根据 Issue 内容生成。

描述

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.

主要语言
Lean
星标
2
派生
1
PR 合并指标
30 天内没有已合并 PR

贡献指南

这个仓库没有索引到贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

lambdaclass/lambda_compiler_kit 的其他 Issue

查看 lambdaclass/lambda_compiler_kit 的全部 Issue

相似的 Issue

更多 Compilers Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。