Skip to content

Add fresh-rematch scheduler API#883

Draft
saulshanabrook wants to merge 1 commit into
egraphs-good:mainfrom
saulshanabrook:codex/split-scheduler-fresh-rematch
Draft

Add fresh-rematch scheduler API#883
saulshanabrook wants to merge 1 commit into
egraphs-good:mainfrom
saulshanabrook:codex/split-scheduler-fresh-rematch

Conversation

@saulshanabrook
Copy link
Copy Markdown
Member

@saulshanabrook saulshanabrook commented May 18, 2026

Context

Backlog schedulers replay queued matches. Some strategies instead need to discard skipped matches and rematch the rebuilt e-graph on each scheduler iteration.

Companion experimental PR: egraphs-good/egglog-experimental#48.

Changes

  • Adds FreshScheduler and registration/removal APIs.
  • Separates backlog scheduler state from fresh-rematch scheduler state.
  • Makes fresh schedulers query the rebuilt e-graph each step instead of replaying stale backlog.
  • Adds tests covering fresh rematching, subsumed rows, and fresh scheduler removal.

Validation

  • cargo test --lib scheduler
  • cargo fmt
  • git diff --check

@saulshanabrook saulshanabrook force-pushed the codex/split-scheduler-fresh-rematch branch 2 times, most recently from 2e6d446 to f7fd3ac Compare May 18, 2026 20:44
@codspeed-hq
Copy link
Copy Markdown

codspeed-hq Bot commented May 18, 2026

Merging this PR will degrade performance by 5.24%

❌ 1 regressed benchmark
✅ 49 untouched benchmarks
⏩ 190 skipped benchmarks1

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
WallTime tests[proof_testing_eqsat-basic] 27.1 ms 28.6 ms -5.24%

Tip

Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.


Comparing saulshanabrook:codex/split-scheduler-fresh-rematch (f7fd3ac) with main (8c1c70b)

Open in CodSpeed

Footnotes

  1. 190 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented May 18, 2026

Codecov Report

❌ Patch coverage is 98.30508% with 3 lines in your changes missing coverage. Please review.
✅ Project coverage is 87.17%. Comparing base (d330f2c) to head (1b83c1f).

Files with missing lines Patch % Lines
src/scheduler.rs 98.30% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #883      +/-   ##
==========================================
+ Coverage   87.06%   87.17%   +0.11%     
==========================================
  Files          88       88              
  Lines       25597    25751     +154     
==========================================
+ Hits        22285    22448     +163     
+ Misses       3312     3303       -9     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@saulshanabrook saulshanabrook force-pushed the codex/split-scheduler-fresh-rematch branch from f7fd3ac to 1b83c1f Compare May 20, 2026 18:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants