-
Notifications
You must be signed in to change notification settings - Fork 42
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
Refactor the DG #25
Refactor the DG #25
Conversation
Have you done some real-world benchmarks? |
It seems to keep most things the same, but makes rubygems/bundler#3803 over an order of magnitude faster |
end | ||
attr_accessor :incoming_edges | ||
# graph.edges.select { |e| e.destination.equal?(self) } | ||
# end |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Delete the commented out code?
In general, I can believe this is faster on huuuuuuge graphs because it looks like this creates less sets and has less object churn? But my random guesses seem less important than the benchmarks showing that this is faster for the cases we care about without slowing down our other benchmark cases. |
OK, will ship master as a 0.3.1, and if I get a 👍 on this, will add some changelog entries and make this 0.4.0. I'm actually very happy with these changes, as it makes the dependency graph way simpler conceptually |
👍 from me. |
It looks good to me 👍 Would be nice if you could include some before/after numbers in the CHANGELOG. |
@alloy the numbers are basically the same in all of the benchmarks I have, but it sped up that linked to issue by 25x |
That seems like a very impressive number to include imo :) |
Does this look any faster?