-
Notifications
You must be signed in to change notification settings - Fork 0
Performance (Small Collections)
Following performance tests were performed on simple, enumerable collection generated by Enumerable.Range(0, collectionSize). Partial times, longer than normalized deviation, were discarded.
###Settings
-
Collection size: 10
-
Sample size: 50
-
Iterations per sample: 1,000,000
##NSlice vs. LINQ
###Get items at odd indices-7.8% -
.Slice(1, step: 2).Last()
218 ms -
.Where((x, i) => i % 2 == 1).Last()
236 ms
###Reverse
-
.Slice(step: -1).First()
296 ms -
.Reverse().First()
286 ms
###Reverse and get at even indices -25.3%
-
.Slice(step: -2).Last()
388 ms -
.Reverse().Where((x, i) => i % 2 == 0).Last()
519 ms
###Get middle terce
-
.Slice(terce, terce*2).Last()
184 ms -
.Skip(terce).Take(terce).Last()
187 ms
###Get middle terce reversed -7.0%
-
.Slice(-terce, terce, -1).First()
241 ms -
.Skip(terce).Take(terce).Reverse().First()
259 ms