Skip to content

0.9.1: within-tier mining progress - #41

Merged
psaegert merged 1 commit into
mainfrom
release/0.9.1
Jul 24, 2026
Merged

0.9.1: within-tier mining progress#41
psaegert merged 1 commit into
mainfrom
release/0.9.1

Conversation

@psaegert

Copy link
Copy Markdown
Owner

Adds within-tier progress reporting to the offline miner so a length tier is no longer an opaque wait.

mine_one_length is one blocking, rayon-parallel call; find_rules previously printed only an end-of-tier summary, so a mine sitting for days on the length-5+ combinatorial wall gave no sign of life or ETA. Now:

  • The Rust miner increments a process-global (sources_done, sources_total) counter per source, exposed as Engine.mining_progress().
  • find_rules(verbose=True) runs a daemon monitor that polls it and prints Length L: X/N sources (P%) | R src/s | ETA T | elapsed E | RSS M at 20 / 60 / 180 s, then every SIMPLIPY_MINE_PROGRESS_INTERVAL seconds (default 600).
  • Zero effect when verbose=False; the mine result is byte-identical (relaxed atomic, no control-flow effect).

Smoke-verified on a length-4 tier (73,854 sources): the 20 s report showed 93.6% done, 3,455 src/s, ETA. 71 Rust + 284 Python tests pass.

🤖 Generated with Claude Code

https://claude.ai/code/session_01EhLKRZHNh5nNjLZhZqym9w

A length tier was an opaque wait: `mine_one_length` is one blocking, rayon-parallel call, and
`find_rules` only printed a summary AFTER it returned -- so a mine sitting for days on the
length-5+ combinatorial wall gave no sign of life or ETA. Now the Rust miner increments a
process-global `(sources_done, sources_total)` counter per source (`stats::mine_tick`), exposed as
`Engine.mining_progress()`, and `find_rules(verbose=True)` runs a daemon thread that polls it and
prints `Length L: X/N sources (P%) | R src/s | ETA T | elapsed E | RSS M` at 20/60/180s then every
SIMPLIPY_MINE_PROGRESS_INTERVAL seconds (default 600). Zero effect when verbose=False; the mine
result is byte-identical (the counter is a relaxed atomic with no control-flow effect).

Smoke-verified on a length-4 tier (73,854 sources): mid-tier report at 20s showed 93.6% done,
3,455 src/s, ETA. 71 Rust + 284 Python tests pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EhLKRZHNh5nNjLZhZqym9w
@psaegert
psaegert merged commit 7cb9002 into main Jul 24, 2026
7 checks passed
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.

1 participant