zoukankan      html  css  js  c++  java
  • 泛型与普通方法、Object方法效率比较

    泛型与普通方法、Object方法效率比较

    简介:

       方法的执行效率比较,首先考虑的就是执行方法时所耗费的时长,时长越短,效率越好,耗时越长,效率越差。下面就从执行耗时方法考量三种方法的效率。

    实现方法:

            static void Main(string[] args)
            {
                Monitor.Show();
            }
            public static void Show()
            {
                Console.WriteLine("****************Monitor******************");
                {
                    int iValue = 12345;
                    long commonSecond = 0;
                    long objectSecond = 0;
                    long genericSecond = 0;
    
                    //普通方法
                    {
                        Stopwatch watch = new Stopwatch();
                        watch.Start();
                        for (int i = 0; i < 1000000; i++)
                        {
                            ShowInt(iValue);
                        }
                        watch.Stop();
                        commonSecond = watch.ElapsedMilliseconds;
                    }
    
                    //Object
                    {
                        Stopwatch watch = new Stopwatch();
                        watch.Start();
                        for (int i = 0; i < 1000000; i++)
                        {
                            ShowObject(iValue);
                        }
                        watch.Stop();
                        objectSecond = watch.ElapsedMilliseconds;
                    }
    
                    //泛型
                    {
                        Stopwatch watch = new Stopwatch();
                        watch.Start();
                        for (int i = 0; i < 1000000; i++)
                        {
                            Show<int>(iValue);
                        }
                        watch.Stop();
                        genericSecond = watch.ElapsedMilliseconds;
                    }
                    Console.WriteLine("commonSecond={0},objectSecond={1},genericSecond={2}", commonSecond, objectSecond, genericSecond);
                    Console.ReadKey();
                }
            }
    
            #region PrivateMethod
            private static void ShowInt(int iParameter)
            {
                //do nothing
            }
            private static void ShowObject(object oParameter)
            {
                //do nothing
            }
            private static void Show<T>(T tParameter)
            {
                //do nothing
            }
            #endregion

    执行结果:

    ****************Monitor******************
    commonSecond=3,objectSecond=9,genericSecond=3

    显然,泛型方法执行效率比较高。

  • 相关阅读:
    JDK1.5新特性
    mysql的基本使用
    IO简单示例
    序列化
    策略模式
    div+css布局之流体浮动布局
    xp优化
    Junit所使用的设计模式
    SSH使用总结(annotation配置方式)
    hibernate3.6.0使用总结
  • 原文地址:https://www.cnblogs.com/wml-it/p/13064094.html
Copyright © 2011-2022 走看看