zoukankan      html  css  js  c++  java
  • c#中装箱拆箱性能测试

    c#中装箱拆箱性能测试

    首先了解一下关于时间的换算:

    1秒=1000毫秒;

    1毫秒=1000微秒;

    1微秒=1纳秒

    而1毫秒=10000ticks;所以1ticks=100纳秒=0.1微秒

    ticks这个属性值是指从0001年1月1日12:00:00开始到此时的以ticks为单位的时间,就是以ticks表示的时间的间隔数。

    使用DateTime.Now.Ticks返回的是一个long型的数值。

    然后上代码:

    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace Fan
    {
    
        class Program
        {
            const int ListSize = 5500000;
    
            private static void UserArrayList()
            {
                ArrayList list = new ArrayList();
                long starTicks = DateTime.Now.Ticks;
                for (int i = 0; i < ListSize; i++)
                {
                    list.Add(i);
                }
                for(int i=0;i<ListSize;i++)
                {
                    int value = (int)list[i];
                }
                long endTicks = DateTime.Now.Ticks;
                Console.WriteLine("使用ArrayList,耗时:{0}",endTicks-starTicks);
            }
    
            private static void UseGenericList()
            {
                List<int> list = new List<int>();
                long starTicks = DateTime.Now.Ticks;
                for (int i = 0; i < ListSize; i++)
                {
                    list.Add(i);
                }
                for (int i = 0; i < ListSize; i++)
                {
                    int value = list[i];
                }
                long endTicks = DateTime.Now.Ticks;
                Console.WriteLine("使用List<int>,耗时{0}",endTicks-starTicks);
            }
            static void Main(string[] args)
            {
                UserArrayList();
                UseGenericList();
    
                Console.ReadLine();
    
            }
        }
    }

    通过多次对ListSize 值的变化来进行车测试,结果:你自己复制代码区测试一下吧,我不告诉你^_^!

  • 相关阅读:
    oracle学习篇十:序列
    oracle学习篇九:同义词
    oracle相关常识
    oracle之数据同步:Oracle Sql Loader使用说明(大批量快速插入数据库记录)
    oracle学习篇八:约束
    oracle学习篇七:更新操作、事务处理
    oracle学习篇六:子查询
    oracle学习篇五:组函数,分组统计
    oracle学习篇四:多表查询
    oracle学习篇三:SQL查询
  • 原文地址:https://www.cnblogs.com/mc67/p/5098403.html
Copyright © 2011-2022 走看看