Skip to content

feat: optimisation of subdivision process#1509

Merged
DavePearce merged 3 commits intomainfrom
1508-feat-optimisation-of-subdivision-process
Feb 18, 2026
Merged

feat: optimisation of subdivision process#1509
DavePearce merged 3 commits intomainfrom
1508-feat-optimisation-of-subdivision-process

Conversation

@DavePearce
Copy link
Collaborator

@DavePearce DavePearce commented Feb 18, 2026

Note

Medium Risk
Touches core arithmetic constraint splitting logic; incorrect overflow detection or subdivision could change generated constraints or cause panics, though the new behavior is guarded by explicit overflow checks and a loop-stuck fail-fast.

Overview
Assignment splitting is reworked to reduce unnecessary subdivision. Assignment.chunkUp now iteratively applies a RegisterSplitter, detects which RHS sub-polynomials exceed field.BandWidth via a new determineRhsChunks that returns an overflow register set, and only subdivides those registers (with a stuck-loop guard that panics with debug output).

Experimental path remains but is gated. A USE_NEW_CHUNKUP flag selects the older chunkUp2 path (still present, with determineRhsChunks2 retained under nolint), but defaults to false so the new iterative splitter is the default.

Minor cleanup/robustness. Removes perf-stat logging from lowering/vectorization, and makes debug.PrintSchemas skip printing the concrete schema when absent (HasConcreteSchema()).

Written by Cursor Bugbot for commit 9e7f8f5. This will update automatically on new commits. Configure here.

There was some unnecessary logging going on.
This reverts the chunking algorithm back to the original which, although
less optimal, is much more efficient.  However, the new chunking
algorithm is retained and can be enabled with a flag (in principle).
Previously, this was printing the debug information as requested, but
then it was also causing a panic.  Fixed now.
@DavePearce DavePearce linked an issue Feb 18, 2026 that may be closed by this pull request
@DavePearce DavePearce merged commit 7553c28 into main Feb 18, 2026
27 checks passed
@DavePearce DavePearce deleted the 1508-feat-optimisation-of-subdivision-process branch February 18, 2026 05:25
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.

feat: optimisation of subdivision process

1 participant

Comments