8000 Aliases_of_canonical_element.invariant is a light invariant check by lthls · Pull Request #4191 · oxcaml/oxcaml · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Aliases_of_canonical_element.invariant is a light invariant check #4191

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jun 26, 2025

Conversation

lthls
Copy link
Contributor
@lthls lthls commented Jun 25, 2025

The invariant checks for Aliases.Aliases_of_canonical_element were run systematically. This PR makes them run only when light invariant checks are required.
We noticed some compilations spending 15% of their time doing equality checks on patricia trees, which we suspect is due to this invariant check.

8000
@lthls lthls added the flambda2 Prerequisite for, or part of, flambda2 label Jun 25, 2025
@lthls
Copy link
Contributor Author
lthls commented Jun 25, 2025

@bclement-ocp pointed out that since we noticed it in the perf profiles, this was probably not a "light" invariant check. I've changed it to use check_invariants instead.

@mshinwell mshinwell merged commit 4948e36 into oxcaml:main Jun 26, 2025
31 of 32 checks passed
mshinwell pushed a commit that referenced this pull request Jun 26, 2025
)

* Aliases_of_canonical_element.invariant is a light invariant check

* Not a light invariant

(cherry picked from commit 4948e36)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
flambda2 Prerequisite for, or part of, flambda2
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants
0