当前位置导航:炫浪网>>网络学院>>网页制作>>ASP.NET教程

.Net 3.5环境下常用数组性能测试

欢迎进入.NET社区论坛,与200万技术人员互动交流 >>进入

    这件事情似乎很无聊,但是没人做,我来做下苦力吧。

    以下是一些简单的测试。单位以ms计算。注意里面用到循环的数量有些事1W,有些是100W。

    这些记录可以作为编程过程中的一些参考。

    测试平台:

    奔腾1.6G 双核CPU
    1G内存
    vs2008 调试环境测试。

    

 一、ArrayList (100W,1W)

Stopwatch timer = new Stopwatch();
timer.Start();

System.Collections.ArrayList al = new System.Collections.ArrayList();

for (int i = 0; i < 1000000; i++)
{
al.Add(i);
}

timer.Stop();

Console.Write(timer.ElapsedMilliseconds.ToString() + "\t");

Stopwatch timer1 = new Stopwatch();
timer1.Start();

for (int i = 0; i < 10000; i++)
{
al.Contains(i);
}

timer1.Stop();

Console.WriteLine(timer1.ElapsedMilliseconds.ToString());
98 775
160 891
107 773
193 769


    
   

 二、Hashtable (100W,1W)

Stopwatch timer = new Stopwatch();
timer.Start();

System.Collections.Hashtable ht = new System.Collections.Hashtable();

for (int i = 0; i < 1000000; i++)
{
ht.Add(i, i);
}

timer.Stop();

Console.Write(timer.ElapsedMilliseconds.ToString() + "\t");

Stopwatch timer1 = new Stopwatch();
timer1.Start();

for (int i = 0; i < 10000; i++)
{
ht.ContainsKey(i);
}

timer1.Stop();

Console.WriteLine(timer1.ElapsedMilliseconds.ToString());
}
375 0
673 0
540 0
495 0

把timer1提高到100万(Hashtable (100W,100W))

389 139
616 277
516 140
610 277

相关内容
赞助商链接