-
Notifications
You must be signed in to change notification settings - Fork 0
Performance (Big Collections)
nabuk edited this page Nov 10, 2013
·
2 revisions
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: 1,000,000
- Sample size: 50
- Iterations per sample: 10
##NSlice vs. LINQ
###Get items at odd indices -34.3%
.Slice(1, step: 2).Last()
92 ms
.Where((x, i) => i % 2 == 1).Last()
141 ms
###Reverse -5.5%
.Slice(step: -1).First()
102 ms
.Reverse().First()
108 ms
###Reverse and get at even indices -33.9%
.Slice(step: -2).Last()
194 ms
.Reverse().Where((x, i) => i % 2 == 0).Last()
293 ms
###Get middle terce -14.8%
.Slice(terce, terce*2).Last()
79 ms
.Skip(terce).Take(terce).Last()
93 ms
###Get middle terce reversed -17.8%
.Slice(-terce, terce, -1).First()
89 ms
.Skip(terce).Take(terce).Reverse().First()
108 ms