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

Add libsolv_rs #243

Merged
merged 7 commits into from
Jul 4, 2023
Merged

Add libsolv_rs #243

merged 7 commits into from
Jul 4, 2023

Conversation

aochagavia
Copy link
Contributor

No description provided.

@aochagavia
Copy link
Contributor Author

Something that we might be interested in is to compile rattler_solve tests with opt-level 3, because we have two tests that solve a real-world scenario (python and tensorboard). At the moment I think compiling in debug mode gives us a boost speed that outweights the runtime performance, but if we add more real-world test scenarios in the future we will have to reconsider

) -> Result<u32, Problem> {
level += 1;

println!(
Copy link
Contributor

Choose a reason for hiding this comment

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

Should we move to tracing::info! here? Or debug!.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'm postponing that because it's a fairly mechanical change and I want to make sure all the truly important stuff is done first

self.pool
.resolve_solvable_inner(literal.solvable_id)
.display()
);
Copy link
Contributor

Choose a reason for hiding this comment

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

Just as a future idea - this would probably the place to check for a time-budget, right?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

You mean giving up after a given amount of time? In my eyes the best place for that would be Solver::resolve_dependencies, which is using Solver::set_propagate_learn

Copy link
Contributor

Choose a reason for hiding this comment

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

Yeah, like setting a limit of 1 sec, or 10'000 iterations ...

crates/rattler-bin/src/commands/create.rs Show resolved Hide resolved
@@ -23,8 +23,10 @@ url = "2.4.0"
hex = "0.4.3"
tempfile = "3.6.0"
cfg-if = "1.0.0"
libsolv_rs = { version = "0.1.0", path = "../libsolv_rs" }
Copy link
Collaborator

Choose a reason for hiding this comment

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

Ideally we put both implementations behind feature flags.

crates/rattler_solve/src/lib.rs Outdated Show resolved Hide resolved
@aochagavia aochagavia force-pushed the add-libsolv-rs branch 3 times, most recently from 3956489 to ce24cf0 Compare July 3, 2023 12:46
@wolfv wolfv merged commit 37e378c into conda:main Jul 4, 2023
8 checks passed
@aochagavia aochagavia deleted the add-libsolv-rs branch January 23, 2024 08:14
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.

None yet

3 participants