-
Notifications
You must be signed in to change notification settings - Fork 38
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 experimental u64 version bitset #284
base: dev
Are you sure you want to change the base?
Conversation
CodSpeed Performance ReportMerging #284 will not alter performanceComparing Summary
|
37f165a
to
2066fa6
Compare
I kept only the new code and put it in a new module to facilitate reviewing. |
Thank you for doing that! With this revision, I'm looking forward to reviewing it :-P. It seems very useful for this library to provide example implementations of the traits it uses. Like |
With the latest code for #274, I removed the limit of 63 versions in the |
In #274 I didn't kept the A solution could be to copy all changed code in the |
Sounds like a good compromise to start with. |
In this PR, the speedup is in a separate module, how will that interact with #274? Will the other performance improvements only apply to this new API or also improve existing usage? Can you describe what assumptions the new representation is making? E.g., do we need to know all versions upfront? When selecting versions, do we need to go through all versions or can we skip some (e.g. prereleases)? How do i convert a complex version type to the bitset? What's the maximum number of versions? Before we merge, we also need to explain the representation of the bitset in a docstring. |
7638eca
to
cefdf76
Compare
I put the changes in a separate module so that I can split the changes in multiple PRs.
#274 is only used to show the final code, and will be closed once all code has been merged in the
The dependency provider need to know all versions of a dependency in the In the |
While #274 does great for the cargo performance numbers, it would be a quite disruptive of an API change for other pubgrub users such as uv and elm, breaking with the If you want, we can also chat directly about how to best integrate these changes, e.g. in zulip or you can reach me at [email protected], or you can meet @Eh2406 and me in the weekly pubgrub office hours, wednesdays at 7pm CET (calendar: https://github.com/rust-lang/calendar?tab=readme-ov-file) |
Part of #274.
This PR adds a
experimental
module with the new code to facilitate reviewing.