8000 perf(post-1.0): hash-join negation inner loop · Issue #202 · project-minigraf/minigraf · GitHub
[go: up one dir, main page]

Skip to content

perf(post-1.0): hash-join negation inner loop #202

Closed

Description

@adityamukho

Roadmap source

ROADMAP.md: Post-1.0 Performance Backlog.

Problem

not / not-join evaluation re-scans all candidate facts once per outer binding, producing O(outer * inner) behavior. Roadmap benchmark observations: not_scale/10k around 13s and not_join_scale/10k around 23s.

Proposed fix

Pre-compute the exclusion set from the not body once, then probe per outer binding using a hash lookup.

Acceptance criteria

  • Reduce negation inner-loop behavior from O(N^2) to O(N) for the benchmarked shape.
  • Add or update benchmarks for not_scale and not_join_scale.
  • Preserve existing negation semantics and safety checks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    performanceBenchmark performance regressionsrustPull requests that update rust code

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      0