summaryrefslogtreecommitdiff
path: root/src/GNUmakefile
diff options
context:
space:
mode:
authorScott Gasch <[email protected]>2026-10-13 23:22:10 -0700
committerScott Gasch <[email protected]>2026-10-13 23:22:10 -0700
commitdad4620a92f51a1d0825fc99fa98fd2b16c0f280 (patch)
tree865a0f210b6d3ad49779617ba73a3e04c02aad4e /src/GNUmakefile
parent7400001fc2d43a507b54281f9860c60177860fe5 (diff)
Add alpha-side static null-move skip gate and Search() perf hoists
Reuses the joint FH% table on the iEval <= iAlpha side to skip the null-move probe attempt when it's predicted unlikely to succeed (EV-neutral: the real move loop still runs regardless). Also hoists several node-constant computations (ImproveBucket, MP split-eligibility checks) out of the per-move loop in Search(), and adds GNUmakefile overrides for sweeping NULLMOVE_SKIP_FH_CEILING_THOUSANDTHS and SKIP_SELECT_AFTER_N_MOVES from the command line. Self-play vs. head is trending positive overnight (1020 games, llr=+1.36, score=0.527) but not yet conclusive -- committing now to checkpoint the change while the match continues. Co-Authored-By: Claude Sonnet 5 <[email protected]>
Diffstat (limited to 'src/GNUmakefile')
-rw-r--r--src/GNUmakefile16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/GNUmakefile b/src/GNUmakefile
index 5879d31..2cd1462 100644
--- a/src/GNUmakefile
+++ b/src/GNUmakefile
@@ -292,6 +292,22 @@ ifdef PRUNE_LIVE
PROFILE += -DPRUNE_LIVE=$(PRUNE_LIVE)
endif
+# 2026-10-13: override search.c's NULLMOVE_SKIP_FH_CEILING_THOUSANDTHS
+# default (300, validated -- see search.c's own comment) from the
+# command line for sweeping, e.g. `gmake ... NULLMOVE_SKIP_CEILING=1000`
+# -- search.c's #define is guarded with #ifndef so this wins without
+# editing the source.
+ifdef NULLMOVE_SKIP_CEILING
+PROFILE += -DNULLMOVE_SKIP_FH_CEILING_THOUSANDTHS=$(NULLMOVE_SKIP_CEILING)
+endif
+
+# 2026-10-13: override movesup.c's SelectBestWithHistory skip-
+# selection-sort threshold for sweeping, e.g.
+# `gmake ... SKIP_SELECT_N=6`.
+ifdef SKIP_SELECT_N
+PROFILE += -DSKIP_SELECT_AFTER_N_MOVES=$(SKIP_SELECT_N)
+endif
+
ifdef NEUTRALIZE_NULL_BAILOUT
PROFILE += -DNEUTRALIZE_NULL_BAILOUT
endif