文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>装箱和拆箱所引发的性能问题

装箱和拆箱所引发的性能问题

时间:2011-01-25  来源:hfliyi

装箱和拆箱需要进行大量计算,对值类型装箱需要分配一个全新的对象,次之,取消装箱也需要进行大量的计算,减少装箱和拆箱操作对应用程序的性能有很好的途径。所以在.NET Framework 2.0时候微软推出泛型,他有效的解决了这个性能的问题。

 

代码
 1   class Program
2 {
3 static void Main(string[] args)
4 {
5 RunBox();
6 RunNoBox();
7 }
8 /// <summary>
9 /// 装箱
10 /// </summary>
11 public static void RunBox()
12 {
13 DateTime startTime = DateTime.Now;
14 ArrayList list = new ArrayList();
15 for (int i = 0; i < 5; i++)
16 {
17 list.Clear();
18 for (int j = 0; j < 5000000; j++)
19 {
20 list.Add(j);
21 }
22 int k;
23 for (int j = 0; j < list.Count; j++)
24 {
25 k = (int)list[i];
26 }
27 }
28 DateTime endTime = DateTime.Now;
29 Console.WriteLine("开始时间,结束时间,耗费时间"+ startTime.ToString()+","+endTime.ToString()+",'"+(endTime - startTime).ToString());
30 }
31 /// <summary>
32 /// 拆箱
33 /// </summary>
34 public static void RunNoBox()
35 {
36 DateTime startTime = DateTime.Now;
37 List<int> list = new List<int>();
38 for (int i = 0; i < 5; i++)
39 {
40 list.Clear();
41 for (int j = 0; j < 5000000; j++)
42 {
43 list.Add(j);
44
45 }
46 int k;
47 for (int j = 0; j < list.Count; j++)
48 {
49 k = list[j];
50
51 }
52
53 }
54 DateTime endTime = DateTime.Now;
55 Console.WriteLine("开始时间,结束时间,耗费时间" + startTime.ToString() + "," + endTime.ToString() + ",'" + (endTime - startTime).ToString());
56 }
57 }
58 }

 

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载