-
Notifications
You must be signed in to change notification settings - Fork 371
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
[opam 2.1~alpha3] opam list --installable is really slow #4311
Comments
The bottleneck is in universe check. @AltGr, an idea? |
... which is the actual installability check 😬 the explanation can only be in the differences in how the universe is encoded, I'll check but there might be no easy way out. |
Just a follow-up, here is the same command when the switch invariant is not the default one when upgrading from 2.0:
(it seems to be getting worse? 😟) |
FWIW I'm hitting the same issue; an |
Another example, using opam-repository at
takes:
|
dev meeting: this one's pretty important, but it could go in after rc as its quite a targetted fix. Not completely blocking 2.1.0 but would be nice to fix before 2.1.1 |
Interestingly enough
with ocaml/opam-repository@0b5927e, takes more than 6 minutes to tell me
|
As far as I can see, this issue was fixed by #4882 and seems even faster than before. |
Nice! Thanks a lot for the fix and the update. |
Addresses some remaining costly cases in ocaml#4311 The patch includes a small reorganisation of `OpamSolver`, but the general idea is to fix the performance regression compared to 2.0: - with the introduction of solver invariants, the pre-processing that trimmed packages conflicting with the base in `OpamState` was removed - it was replaced by something much more general (and reliable) at the `OpamCudf` level - but only for calls to the external solver, until now NOTE: this enforces the invariant even for `opam install --coinstallable-with`, which is consistent with 2.0 but had changed in 2.1. Without it we can't really expect reasonable performance in general anyway.
Addresses some remaining costly cases in ocaml#4311 The patch includes a small reorganisation of `OpamSolver`, but the general idea is to fix the performance regression compared to 2.0: - with the introduction of solver invariants, the pre-processing that trimmed packages conflicting with the base in `OpamState` was removed - it was replaced by something much more general (and reliable) at the `OpamCudf` level - but only for calls to the external solver, until now NOTE: this enforces the invariant even for `opam install --coinstallable-with`, which is consistent with 2.0 but had changed in 2.1. Without it we can't really expect reasonable performance in general anyway.
Addresses some remaining costly cases in ocaml#4311 The patch includes a small reorganisation of `OpamSolver`, but the general idea is to fix the performance regression compared to 2.0: - with the introduction of solver invariants, the pre-processing that trimmed packages conflicting with the base in `OpamState` was removed - it was replaced by something much more general (and reliable) at the `OpamCudf` level - but only for calls to the external solver, until now NOTE: this enforces the invariant even for `opam install --coinstallable-with`, which is consistent with 2.0 but had changed in 2.1. Without it we can't really expect reasonable performance in general anyway.
Addresses some remaining costly cases in ocaml#4311 The patch includes a small reorganisation of `OpamSolver`, but the general idea is to fix the performance regression compared to 2.0: - with the introduction of solver invariants, the pre-processing that trimmed packages conflicting with the base in `OpamState` was removed - it was replaced by something much more general (and reliable) at the `OpamCudf` level - but only for calls to the external solver, until now NOTE: this enforces the invariant even for `opam install --coinstallable-with`, which is consistent with 2.0 but had changed in 2.1. Without it we can't really expect reasonable performance in general anyway.
Addresses some remaining costly cases in ocaml#4311 The patch includes a small reorganisation of `OpamSolver`, but the general idea is to fix the performance regression compared to 2.0: - with the introduction of solver invariants, the pre-processing that trimmed packages conflicting with the base in `OpamState` was removed - it was replaced by something much more general (and reliable) at the `OpamCudf` level - but only for calls to the external solver, until now NOTE: this enforces the invariant even for `opam install --coinstallable-with`, which is consistent with 2.0 but had changed in 2.1. Without it we can't really expect reasonable performance in general anyway.
Addresses some remaining costly cases in ocaml#4311 The patch includes a small reorganisation of `OpamSolver`, but the general idea is to fix the performance regression compared to 2.0: - with the introduction of solver invariants, the pre-processing that trimmed packages conflicting with the base in `OpamState` was removed - it was replaced by something much more general (and reliable) at the `OpamCudf` level - but only for calls to the external solver, until now NOTE: this enforces the invariant even for `opam install --coinstallable-with`, which is consistent with 2.0 but had changed in 2.1. Without it we can't really expect reasonable performance in general anyway.
With
opam 2.1~alpha3
:With
opam 2.0.7
:You can use
docker run --rm -it ocurrent/opam:debian-10-ocaml-4.10
to reproduce this.The text was updated successfully, but these errors were encountered: