Skip to content
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

Solver improvements: meta issue #7700

Open
mbargull opened this Issue Aug 26, 2018 · 7 comments

Comments

Projects
None yet
8 participants
@mbargull
Copy link
Member

mbargull commented Aug 26, 2018

  1. Solver improvements: 0) Solver speedups in common.logic #7676
  2. Solver improvements: 1) use CryptoMiniSat as the default SAT solver #7694
  3. Solver improvements: 2) translate hotspots functions in common.logic into compiled code #7696
  4. Solver improvements: 3) store clauses in a more memory efficient way #7697
  5. Solver improvements: 4) make solver runs more deterministic #7698
  6. Solver improvements: 5) explore ways to invoke the SAT solver more incrementally #7699
  7. Solver improvements: 6) explore more creative and aggressive parameter space reduction (i.e. get_reduced_index()) #7809

Anyone, feel free to contribute to any of the above! 1) -- 4) shouldn't be too hard, if anyone wants to give those a shot!

@msarahan

This comment has been minimized.

Copy link
Contributor

msarahan commented Oct 10, 2018

I have set up Airspeed Velocity for conda with some simple, very high level benchmarks. See https://github.com/conda/conda-benchmarks for the code and https://conda.github.io/conda-benchmarks for results.

Note that each commit takes about 10 min to run. It's going to take a very long time to fully populate this graph. Still, I hope the benchmarking code is perhaps useful for evaluating the success of the efforts highlighted in the issue.

@abalter

This comment has been minimized.

Copy link

abalter commented Oct 14, 2018

Is there any way to trade some disk storage for solver time by saving useful information in a local file?

@abalter

This comment has been minimized.

Copy link

abalter commented Oct 14, 2018

Because there might be another interested person who doesn't really know what the solver does, I mean I totally understand, but just in case someone else who doesn't understand comes along and wants to participate in this discussion, would it be possible in a few brilliantly crafted sentences to summarize?

@rth

This comment has been minimized.

Copy link

rth commented Jan 22, 2019

I have set up Airspeed Velocity for conda with some simple, very high level benchmarks

The graphs look quite useful. Just to clarify, when we see something like,
asv_example

does it mean that the changes are exclusively due to changes in conda package, or do they also account for the fact that the dependency tree could have evolved in the mean time (at the very least there are new package releases)?

@msarahan

This comment has been minimized.

Copy link
Contributor

msarahan commented Jan 22, 2019

We download the repodata once and have it cached locally. Any changes in the graph should reflect code changes in conda, not changes in the repodata.

If we ever change the repodata (which may be desirable to capture hotfixes or otherwise better reflect the current size of the ecosystem), we would need to re-run the entire history of benchmarks.

@reedacartwright

This comment has been minimized.

Copy link

reedacartwright commented Feb 23, 2019

FreeBSD's package manager has spent a lot of effort on their dependency solver. Maybe their work is useful for conda. https://github.com/freebsd/pkg

@ctb

This comment has been minimized.

Copy link

ctb commented Mar 12, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.