Esempio n. 1
0
        public void SingleSequenceStructLinq()
        {
            var sw = new Stopwatch();

            sw.Start();
            long sum = 0;

            for (var i = 0; i < 100000000; i++)
            {
                sum = new SingleSequence <int>(i).Aggregate(sum, (current, single) => current + single);
            }
            sw.Stop();
            Console.WriteLine($"Elapsed {sw.ElapsedMilliseconds}");
            Console.WriteLine($"Mops {100000.0 / sw.ElapsedMilliseconds * 1.0}");
        }
Esempio n. 2
0
        public void SingleSequenceStructReusedForEach()
        {
            var sw = new Stopwatch();

            sw.Start();
            long sum = 0;
            var  st  = new SingleSequence <int>(1);

            for (var i = 0; i < 100000000; i++)
            {
                foreach (var single in st)
                {
                    sum += single;
                }
            }
            sw.Stop();
            Console.WriteLine($"Elapsed {sw.ElapsedMilliseconds}");
            Console.WriteLine($"Mops {100000.0 / sw.ElapsedMilliseconds * 1.0}");
        }
 public SingleEnumerator(ref SingleSequence <T> parent)
 {
     _parent    = parent;
     _couldMove = true;
 }