Closed leandromoh closed 8 months ago
Merging #1011 (d8fbc6b) into master (35fefdf) will decrease coverage by
0.01%
. The diff coverage is91.66%
.:exclamation: Current head d8fbc6b differs from pull request most recent head e221209. Consider uploading reports for the commit e221209 to get more accurate results
@@ Coverage Diff @@
## master #1011 +/- ##
==========================================
- Coverage 92.57% 92.57% -0.01%
==========================================
Files 113 113
Lines 3422 3433 +11
Branches 1055 1060 +5
==========================================
+ Hits 3168 3178 +10
Misses 191 191
- Partials 63 64 +1
Impacted Files | Coverage Δ | |
---|---|---|
MoreLinq/Slice.cs | 92.00% <91.66%> (-0.86%) |
:arrow_down: |
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more
Closing this assuming it's unnecessary and abandoned.
While there are two enumerable methods involved in the previous version, I don't see how it would have iterated the sequence twice - both
Skip
andTake
are lazy, and neither will pull items unnecessarily. It would be good to update the tests forSlice
to confirm this, though.Furthermore, for non-list sequence,
.Skip().Take()
is already heavily optimized by the corelib. It turns into a singleEnumerablePartition<TSource>()
which handles both already. Take a look at the code here (Skip
andTake
are available in the same directory, and you can see thatSkip
creates theEnumerablePartition<>
andTake
callsEnumerablePartition<>.Take()
). [note: since net6.0,Slice
is actually an almost synonym for the bclTake(IEnumerable<TSource> source, Range range)
operator -Take(Range)
is start..end andSlice(int, int)
is start + count]