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

Bump version-ranges from 0.1.0 to 0.1.1 #32

Merged
merged 1 commit into from
Dec 1, 2024

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Dec 1, 2024

Bumps version-ranges from 0.1.0 to 0.1.1.

Changelog

Sourced from version-ranges's changelog.

Changelog

All notable changes to this project will be documented in this file.

Unreleased [(diff)][unreleased-diff]

[0.2.1] - 2021-06-30 - [(diff with 0.2.0)][0.2.0-diff]

This release is focused on performance improvements and code readability, without any change to the public API.

The code tends to be simpler around tricky parts of the algorithm such as conflict resolution. Some data structures have been rewritten (with no unsafe) to lower memory usage. Depending on scenarios, version 0.2.1 is 3 to 8 times faster than 0.2.0. As an example, solving all elm package versions existing went from 580ms to 175ms on my laptop. While solving a specific subset of packages from crates.io went from 2.5s to 320ms on my laptop.

Below are listed all the important changes in the internal parts of the API.

Added

  • New SmallVec data structure (with no unsafe) using fixed size arrays for up to 2 entries.
  • New SmallMap data structure (with no unsafe) using fixed size arrays for up to 2 entries.
  • New Arena data structure (with no unsafe) backed by a Vec and indexed with Id<T> where T is phantom data.

Changed

  • Updated the large_case benchmark to run with both u16 and string package identifiers in registries.
  • Use the new Arena for the incompatibility store, and use its Id<T> identifiers to reference incompatibilities instead of full owned copies in the incompatibilities field of the solver State.
  • Save satisfier indices of each package involved in an incompatibility when looking for its satisfier. This speeds up the search for the previous satisfier.
  • Early unit propagation loop restart at the first conflict found instead of continuing evaluation for the current package.
  • Index incompatibilities by package in a hash map instead of using a vec.
  • Keep track of already contradicted incompatibilities in a Set until the next backtrack to speed up unit propagation.
  • Unify history and memory in partial_solution under a unique hash map indexed by packages. This should speed up access to relevan terms in conflict resolution.
Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [version-ranges](https://github.com/pubgrub-rs/pubgrub) from 0.1.0 to 0.1.1.
- [Release notes](https://github.com/pubgrub-rs/pubgrub/releases)
- [Changelog](https://github.com/pubgrub-rs/pubgrub/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/pubgrub-rs/pubgrub/commits)

---
updated-dependencies:
- dependency-name: version-ranges
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file rust Pull requests that update Rust code labels Dec 1, 2024
@konstin konstin merged commit cf2122f into main Dec 1, 2024
2 checks passed
@dependabot dependabot bot deleted the dependabot/cargo/version-ranges-0.1.1 branch December 1, 2024 20:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file rust Pull requests that update Rust code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant