博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
高效代码指泛型代替非泛型
阅读量:4585 次
发布时间:2019-06-09

本文共 1336 字,大约阅读时间需要 4 分钟。

用泛型代替非泛型,提高效率。

今天测试了一下使用泛型和非泛型的效率问题,结果一目了然。

例子代码如下:

public class Test

{

static int collectionCount = 0;

static Stopwatch watch = null;
static int testCount = 1000000;

public static void TestBegin()

{
GC.Collect();强制对所有代码进行垃圾回收
GC.WaitForPendingFinalizers();挂起线程,直到处理终结器队列的线程清空改队列。
GC.Collect();再此回收。
collectionCount = GC.CollectionCount(0);返回在代码执行中垃圾回收次数
watch = new Stopwatch();
watch.Start();

}

public static void TestEnd()

{
watch.Stop();
Console.WriteLine("消耗的时间:{0}",watch.ElapsedMilliseconds.ToString());
Console.WriteLine("垃圾回收的次数:{0}",GC.CollectionCount(0)-collectionCount);
}

/// <summary>

/// 测试arraylist性能
/// </summary>
public static void TestArrayList()
{
ArrayList arrayList = new ArrayList();
int temp = 0;
for (int i = 0; i < testCount; i++)
{
arrayList.Add(i);
temp=(int)arrayList[i];
}
arrayList = null;
}

/// <summary>

/// 测试泛型的性能
/// </summary>
public static void TestGenericList()
{
List<int> list = new List<int>();
int temp = 0;
for (int i = 0; i < testCount;i++ )
{
list.Add(i);
temp=list[i];
}
list = null;
}

public static void main(string []args)

{

Console.WriteLine("开始测试性能arraylist");

TestBegin();
TestArrayList();
TestEnd();

Console.WriteLine("开始测试性能List<T>泛型:");

TestBegin();
TestGenericList();
TestEnd();

Console.ReadLine();

}

}

 

运行结果如下:

 

可以看到,泛型的效率高很多。

转载于:https://www.cnblogs.com/skyfreedom/p/4775314.html

你可能感兴趣的文章
内置函数
查看>>
js基础之DOM中元素对象的属性方法
查看>>
【高并发架构】缓存的挑战
查看>>
JavaScript检测数组中是否存在满足某些条件的元素
查看>>
[C语言]CPU跑分程序
查看>>
dockerfile中所需要的指令
查看>>
触发器
查看>>
JavaScript总结(1)
查看>>
iOS 有关内存管理的一个错误分析
查看>>
JavaScript循环和数组常用操作
查看>>
re模块(正则表达式)
查看>>
IOS UIView动画(封装动画)
查看>>
Python简单的爬取网页信息并生成json文件与乱码解决小记
查看>>
雷林鹏分享:Redis 安全
查看>>
某表中字段值存在多个Gid逗号分开 取值拆分每个gid SQL多个逗号隔开的取值
查看>>
C#与vb6 com组件的互相调用方法[转]
查看>>
Python快速教程
查看>>
本地git连接github
查看>>
WebService
查看>>
AC自动机板子(from. qwer)
查看>>