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: 2) translate hotspots functions in common.logic into compiled code #7696

Closed
mbargull opened this issue Aug 26, 2018 · 2 comments
Labels
locked [bot] locked due to inactivity source::contributor created by a frequent contributor stale::closed [bot] closed after being marked as stale stale [bot] marked as stale due to inactivity type::feature request for a new feature or capability

Comments

@mbargull
Copy link
Member

ref: #7676 (comment)

  • Make Clauses.BDD_ even faster by extracting it into a compiled extension module, i.e., compile BDD_ and all methods that carry the add_new_clauses keyword argument.

This should be fairly easy. The most "difficult" thing here is just to decide into which language this should be transformed since conda up until now doesn't use compiled extensions directly.

Things to look out for/consider:

  • We only have to care about the code paths in the logic functions (Not_, And_, ...) that use add_new_clauses=True for this, i.e., we can completely disregard that those functions can return tuples.
  • Currently, inputs to all logic functions can be either integers or Booleans. It could make sense to translate False/True to some specific integers, e.g., -sys.maxsize/sys.maxsize, to avoid having to deal with different types here.
  • This can be symbiotic with changing the clause storage, i.e., the implementation is likely simpler and faster if clauses are put into a flat integer array.
@kalefranz kalefranz added type::feature request for a new feature or capability source::contributor created by a frequent contributor labels Sep 24, 2018
@github-actions
Copy link

Hi there, thank you for your contribution to Conda!

This issue has been automatically marked as stale because it has not had recent activity. It will be closed automatically if no further activity occurs.

If you would like this issue to remain open please:

  1. Verify that you can still reproduce the issue in the latest version of Conda

  2. Comment that the issue is still reproducible and include:

  • What version of Conda you reproduced the issue on
  • What OS and version you reproduced the issue on
  • What steps you followed to reproduce the issue
  1. It would also be helpful to have the output of the following commands available:
  • conda info
  • conda config --show-sources
  • conda list --show-channel-urls

NOTE: If this issue was closed prematurely, please leave a comment and we will gladly reopen the issue.

In case this issue was originally about a project that is covered by the Anaconda issue tracker (e.g. Anaconda, Miniconda, packages built by Anaconda, Inc. like Anaconda Navigator etc), please reopen the issue there again.

Thanks!

@github-actions github-actions bot added the stale [bot] marked as stale due to inactivity label Nov 24, 2021
@github-actions
Copy link

Hi again!

This issue has been closed since it has not had recent activity.
Please don't hesitate to leave a comment if that was done prematurely.

Thank you for your contribution.

@github-actions github-actions bot added the stale::closed [bot] closed after being marked as stale label Feb 23, 2022
@github-actions github-actions bot added the locked [bot] locked due to inactivity label Feb 25, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Feb 25, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
locked [bot] locked due to inactivity source::contributor created by a frequent contributor stale::closed [bot] closed after being marked as stale stale [bot] marked as stale due to inactivity type::feature request for a new feature or capability
Projects
None yet
Development

No branches or pull requests

2 participants