Skip to content

deps: Bump libcanon to 0.1.3 - #82

Merged
chenpeizhi merged 1 commit into
masterfrom
deps/bump-libcanon-0.1.3
Aug 15, 2026
Merged

deps: Bump libcanon to 0.1.3#82
chenpeizhi merged 1 commit into
masterfrom
deps/bump-libcanon-0.1.3

Conversation

@chenpeizhi

Copy link
Copy Markdown
Collaborator

The deps/libcanon submodule sat at e15bef1, which predates the libcanon 0.1.3 release. All three wrong-answer canonicalization fixes were already in at that point, but the chain-rebuild guard from DrudgeCAS/libcanon#21 was not.

That guard matters for performance. Rebuilding the automorphism chain after conjugation, added in DrudgeCAS/libcanon#18 to fix a wrong answer, costs 2.4 to 2.8 times the previous runtime on large single-node symmetry groups. The guard skips the rebuild when the ordering is already intact.

This moves the pin to 7ed33f5, libcanon master, one commit past the 0.1.3 tag.

The drudge test suite does not exercise a case large enough to show the difference. It passes on either pin, 162 passed and 2 skipped, in 5.6 seconds both ways.

The submodule sat at e15bef1, which predates the libcanon 0.1.3 release.
The correctness fixes were already in at that point, but the chain-rebuild
guard from libcanon #21 was not.

That guard matters.  Rebuilding the automorphism chain after conjugation,
added in libcanon #18 to fix a wrong answer, costs 2.4 to 2.8 times the
previous runtime on large single-node symmetry groups.  The guard skips
the rebuild when the ordering is already intact, which recovers that.

The drudge test suite does not exercise a case large enough to show the
difference: 162 passed, 2 skipped, in 5.6 seconds on either pin.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings August 15, 2026 14:27
@coveralls

Copy link
Copy Markdown

Coverage Report for CI Build 31889963442

Coverage remained the same at 87.887%

Details

  • Coverage remained the same as the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • No coverage regressions found.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

No coverage regressions found.


Coverage Stats

Coverage Status
Relevant Lines: 4202
Covered Lines: 3693
Line Coverage: 87.89%
Coverage Strength: 0.88 hits per line

💛 - Coveralls

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates Drudge’s pinned deps/libcanon dependency to pick up libcanon v0.1.3 and the subsequent performance guard (DrudgeCAS/libcanon#21) that avoids unnecessary automorphism-chain rebuilds after conjugation, improving canonicalization performance on large symmetry groups.

Changes:

  • Bump the deps/libcanon submodule pin from e15bef1 to 7ed33f5 (one commit past the libcanon v0.1.3 tag).
  • Pull in the chain-rebuild ordering guard so canonicalization can skip expensive rebuilds when ordering remains intact.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@chenpeizhi
chenpeizhi merged commit dc92c54 into master Aug 15, 2026
6 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.

3 participants