频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

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

来源:pcdog 作者:佚名 出处:巧巧读书 2008-03-22 进入讨论组
下一页 1 2 

精华网络内容 :http://www.qqread.com/network/

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

    以下是一些简单的测试。单位以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

更多文章 更多内容请看.NET移动与嵌入式技术.NET开发手册专题,或进入讨论组讨论。
下一页 1 2 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章