Some performance comparison between techniques in C

Some performance comparison between techniques in C


List<string>(map.Keys) vs map.Keys.ToList()

The following codes compare the List<string>(map.Keys) and map.Keys.ToList(). The results seems to suggest that there is no conclusive comparison


Dictionary<string, string> map = new Dictionary<string, string>();
for (int i = 0; i < 1000000; ++i)
{
map[i.ToString()] = i.ToString();
}

for (int k = 0; k < 5; ++k)
{
double time1 = 0;
double time2 = 0;
for (int i = 0; i < 300; ++i)
{
DateTime start_time = DateTime.Now;
List<string> keys = new List<string>(map.Keys);
DateTime end_time = DateTime.Now;
TimeSpan ts = end_time - start_time;
time1 += ts.TotalMilliseconds;

start_time = DateTime.Now;
keys = map.Keys.ToList();
end_time = DateTime.Now;
ts = end_time - start_time;
time2 += ts.TotalMilliseconds;
}


//Console.WriteLine("TimeSpan1: {0} ms", time1);
//Console.WriteLine("TimeSpan2: {0} ms", time2);
if (time1 > time2)
{
Console.WriteLine("++ new List<string>(map.Keys) is better");
}
else if (time1 < time2)
{
Console.WriteLine("++ map.Keys.ToList() is better");
}
}

download file now

Comments

Popular posts from this blog

Spider Man Friend Or Foe ISO Free Download PPSSPP Setting

Sorry Mutter closed unexpectedly on Ubuntu 10 10

Solution Ubuntu 10 04 minimize maximize and close button to right