using System.Collections.Generic;
using System.Diagnostics;
public static void Main(string[] args)
var list = new List<Tuple<int, long, long, long>>();
list.Add(RunAntArray(5));
list.Add(RunAntArray(10));
list.Add(RunAntArray(15));
list.Add(RunAntArray(20));
list.Add(RunAntArray(30));
foreach (var tuple in list)
Console.WriteLine("iter : " + tuple.Item1);
Console.WriteLine("StopWatch1 : " + tuple.Item2);
Console.WriteLine("StopWatch2 : " + tuple.Item3);
Console.WriteLine("StopWatch3 : " + tuple.Item4);
static Tuple<int, long, long, long> RunAntArray(int iter)
for (int i = 0; i < iter; i++)
Console.WriteLine(string.Join(string.Empty, s));
s = NextSeries(s).ToList();
Stopwatch sw1 = new Stopwatch();
for (int i = 0; i < iter; i++)
Console.WriteLine(string.Join(string.Empty, s));
s = NextSeries(s).ToList();
Stopwatch sw2 = new Stopwatch();
for (int i = 0; i < iter; i++)
Stopwatch sw3 = new Stopwatch();
for (int i = 0; i < iter; i++)
return new Tuple<int, long, long, long>(iter, sw1.ElapsedTicks, sw2.ElapsedTicks, sw3.ElapsedTicks);
private static void PrintSeries(IEnumerable<int> series)
foreach (var e in series)
private static void PrintSeries2(IEnumerable<int> series)
int[] list = new int[series.Count()];
foreach (var e in series)
Console.WriteLine(string.Join(string.Empty, list));
private static IEnumerable<int> NextSeries(IEnumerable<int> source)
foreach (var e in source)
yield return current.Value;
yield return current.Value;