Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [CoreJob]
- public class Linq_Bench
- {
- float[] arr;
- [IterationSetup]
- public void IterationSetup()
- {
- arr = (new float[262144]).Select(x => 2.0f).ToArray(); //This is how you do this, right? ;)
- }
- [Benchmark]
- public float[] linqSelect()
- {
- return arr.Select(x => x * x).ToArray();
- }
- [Benchmark]
- public float[] loopInplace()
- {
- for(int i = 0; i < arr.Length; i++)
- {
- arr[i] = arr[i] * arr[i];
- }
- return arr;
- }
- [Benchmark]
- public float linqSum()
- {
- return arr.Sum(x => x * x);
- }
- [Benchmark]
- public float linqStupidSum()
- {
- float sum = 0;
- arr.Select(x => (sum += x * x)).ToList();
- return sum;
- }
- [Benchmark]
- public float loopSum()
- {
- float sum = 0;
- for (int i = 0; i < arr.Length; i++)
- {
- sum += arr[i] * arr[i];
- }
- return sum;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment