Skip to content

docs(docs): List the shallower re-search after a root fail high as rejected - #400

Merged
aywrite merged 1 commit into
masterfrom
rejected-fail-high-reduction
Oct 12, 2026
Merged

aywrite merged 1 commit into
masterfrom
rejected-fail-high-reduction

Conversation

@aywrite

@aywrite aywrite commented Oct 12, 2026

Copy link
Copy Markdown
Owner

Adds one entry to the "Measured and rejected" list in docs/ROADMAP.md.

The change searched a root fail high's re-search a ply shallower for each fail high since the depth opened or last failed low. It read -4 ±6 over 6,000 games at 10+0.1 against d82638a and failed sprt [0, 5] at LLR -3.11 on the last batch the cap allowed. The candidate was 53ee5ec, on claude/aspiration-window-research-1xdeqh, which stays pushed and unmerged.

Docs only; no engine code changes.

🤖 Generated with Claude Code

https://claude.ai/code/session_0133NvZMXKrttWcNCNU9xXjZ


Generated by Claude Code

…jected

-4 ±6 over 6,000 games at 10+0.1 against d82638a, sprt [0, 5] failed at
LLR -3.11. The candidate was 53ee5ec.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0133NvZMXKrttWcNCNU9xXjZ
@github-actions

Copy link
Copy Markdown
Contributor

Speed against b48777af

Measured on AMD EPYC 7763 64-Core Processor.
Both sides built with rustc 1.99.0 (b940084d7 2026-09-28).

Both sides built and run on this runner in this job, the way
scripts/speed.sh measures a perf commit. Each round runs
both sides on a layout of its own, the same compiled code with
its code and data shuffled and moved, so the 95% interval carries
where the code landed as well as the run. The verdict holds the
interval against a 1% threshold. The default layout, the one a
release ships, is measured after as a diagnostic. The node
counts are the search's: they move when the search does, and a
speed change leaves them alone.

round     base nps  candidate nps  change
    1      4588744        4485474   -2.3%
    2      4587531        4533530   -1.2%
    3      4518603        4538100   +0.4%
    4      4602136        4527287   -1.6%
    5      4598421        4613193   +0.3%
    6      4464983        4532543   +1.5%
    7      4609230        4564184   -1.0%
    8      4499578        4527871   +0.6%
    9      4494745        4138174   -7.9%
   10      4595099        4132388  -10.1%
   11      4272810        4101813   -4.0%
   12      4131125        4033818   -2.4%
   13      4343505        4321946   -0.5%
   14      4555753        4448658   -2.4%
   15      4461889        4352849   -2.4%
   16      4545323        4507194   -0.8%
   17      4588702        4596029   +0.2%
   18      4532283        4608375   +1.7%
   19      4245234        4387523   +3.4%
   20      4576043        4403058   -3.8%
   21      4533682        4450744   -1.8%
   22      4517817        4485590   -0.7%
   23      4567077        4613069   +1.0%
   24      4448749        4566378   +2.6%
   25      4381440        4455387   +1.7%
   26      4456117        4369088   -2.0%
   27      4598054        4513940   -1.8%
   28      4542521        4481398   -1.3%
   29      4564286        4475117   -2.0%
   30      4527165        4498833   -0.6%
   31      4633602        4619857   -0.3%
   32      4534315        4479570   -1.2%
   33      4518712        4371668   -3.3%
   34      4558250        4405873   -3.3%
   35      4333983        4598821   +6.1%
   36      4559676        4624520   +1.4%
   37      4537738        4456518   -1.8%
   38      4553147        4443335   -2.4%
   39      4402349        4234576   -3.8%
   40      4488662        4459798   -0.6%

              nodes    time  median nps  faster half
base       11088536  2.45 s     4533998      4574782
candidate  11088536  2.47 s     4480484      4551809
change                            -1.2%        -0.5%

paired change -1.1%, 95% interval -1.8% to -0.4%
diagnostic, on the default layout alone -0.1%, 95% interval -1.9% to +1.7%, 13 rounds

not resolved: the interval reaches past ±1.0% without clearing it, so
more rounds are needed to say either way

Speed: -1.1% (bench nps, 95% interval -1.8% to -0.4%, 40 interleaved rounds over shuffled layouts vs b48777af)

The instructions each side's bench executed, counted under
cachegrind. The count repeats to within a few hundred
instructions, so a small change here is a real one, but it
prices instructions only: cache misses, mispredicted branches
and where the code lands are the speed's to show.

instructions against b48777af, one cachegrind run a side, bench

             instructions     nodes  per node
base       16,519,614,775  11088536    1489.8
candidate  16,519,614,947  11088536    1489.8
change             +0.00%              +0.00%

within ±0.7%, as far as edits not made for speed have moved the count

@aywrite
aywrite merged commit 89701f8 into master Oct 12, 2026
21 checks passed
@aywrite
aywrite deleted the rejected-fail-high-reduction branch October 12, 2026 19:54
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