🐛 Use Range#size
vs Range#count
for uid-set
limit
#411
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
(This PR is for
v0.3-stable
. v0.4 and v0.5 are unaffected.)Prior to ruby 3.3,
Range#count
is handled byEnumerable#count
, even for numeric ranges. For large ranges,Range#size
is significantly faster. On my system, ruby 3.1 and 3.2 both took ~54 seconds (at 100% CPU) to run(1...2**32).count
.Range#count
for numeric ranges is fast under ruby 3.3 and 3.4.Thanks to @xiaoge1001 for reporting this issue (Fixes #410).