using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
public class Program {
public static void Main(string[] args) {
var sw = new Stopwatch();
var array = new double[10000000];
for (int i = 0; i < array.Length; i++) {
array[i] = Math.Exp(12);
}
double tmp;
{
sw.Reset();
sw.Start();
for (int i = 0; i < array.Length; i++) {
tmp = Math.Tanh(Math.Log(array[i]) / 7);
}
sw.Stop();
Console.WriteLine("Loop using for: {0}ms", sw.Elapsed.TotalMilliseconds);
}
{
sw.Reset();
sw.Start();
foreach(double d in array){
tmp = Math.Tanh(Math.Log(d) / 7);
}
sw.Stop();
Console.WriteLine("Loop using foreach: {0}ms", sw.Elapsed.TotalMilliseconds);
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CnVzaW5nIFN5c3RlbS5UZXh0Owp1c2luZyBTeXN0ZW0uRGlhZ25vc3RpY3M7CgpwdWJsaWMgY2xhc3MgUHJvZ3JhbSB7CiAgICBwdWJsaWMgc3RhdGljIHZvaWQgTWFpbihzdHJpbmdbXSBhcmdzKSB7CiAgICAgICAgdmFyIHN3ID0gbmV3IFN0b3B3YXRjaCgpOwoKICAgICAgICB2YXIgYXJyYXkgPSBuZXcgZG91YmxlWzEwMDAwMDAwXTsKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGFycmF5Lkxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIGFycmF5W2ldID0gTWF0aC5FeHAoMTIpOwogICAgICAgIH0KCiAgICAgICAgZG91YmxlIHRtcDsKCiAgICAgICAgewogICAgICAgICAgICBzdy5SZXNldCgpOwogICAgICAgICAgICBzdy5TdGFydCgpOwogICAgICAgICAgICAKICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBhcnJheS5MZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgdG1wID0gTWF0aC5UYW5oKE1hdGguTG9nKGFycmF5W2ldKSAvIDcpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICBzdy5TdG9wKCk7CiAgICAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCJMb29wIHVzaW5nIGZvcjogezB9bXMiLCBzdy5FbGFwc2VkLlRvdGFsTWlsbGlzZWNvbmRzKTsKICAgICAgICB9CgogICAgICAgIHsKICAgICAgICAgICAgc3cuUmVzZXQoKTsKICAgICAgICAgICAgc3cuU3RhcnQoKTsKCiAgICAgICAgICAgIGZvcmVhY2goZG91YmxlIGQgaW4gYXJyYXkpewogICAgICAgICAgICAgICAgdG1wID0gTWF0aC5UYW5oKE1hdGguTG9nKGQpIC8gNyk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHN3LlN0b3AoKTsKICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoIkxvb3AgdXNpbmcgZm9yZWFjaDogezB9bXMiLCBzdy5FbGFwc2VkLlRvdGFsTWlsbGlzZWNvbmRzKTsKICAgICAgICB9CgogICAgfQp9Cgo=