ホームページ  >  記事  >  バックエンド開発  >  C#でデータ構造を記述する1:統計コード実行時間オブジェクトの詳細コード解説

C#でデータ構造を記述する1:統計コード実行時間オブジェクトの詳細コード解説

黄舟
黄舟オリジナル
2017-03-08 11:47:181137ブラウズ

以下を考慮して、コード実行時間をカウントするクラス

CalcTiming

をカスタマイズします。

統計実行プロセス中にガベージ コレクションは許可されません。つまり、コードの実行時間をカウントする前に、GC にガベージ コレクションを完了させます。
  • 統計が現在のプロセスのコードの実行時間であることを確認してください。
  • 次のようにコードを記述します:

        public class CalcTiming
        {
            TimeSpan startTime;        
            private TimeSpan endTime;
            TimeSpan duration;        
            public CalcTiming()
            {
                startTime = new TimeSpan(0);
                duration = new TimeSpan(0);
            }        public void StartTime()
            {            //强制对所有代进行垃圾回收
                GC.Collect();            //挂起线程,终结器线程清空该队列为止
                GC.WaitForPendingFinalizers();            //用户运行代码的起始时间   
                startTime = Process.GetCurrentProcess().UserProcessorTime; 
    
            }        //统计的代码执行完毕的时间
            public void StopTime()
            {
                endTime = Process.GetCurrentProcess().UserProcessorTime;
    
                duration = endTime.Subtract(startTime);           
            }        //返回统计的代码执行消耗的时间
            public TimeSpan Result()
            {            return duration;
            }
    
        }

    上記の
  • CalcTiming
クラスを使用して、配列の消費時間を統計的に表示します:

    class Program
    {
        static void Main(string[] args)
        {            int[] nums = new int[100000];
            BuildArray(nums);
            CalcTiming calcTime= new CalcTiming();
            calcTime.StartTime();
            DisplayNums(nums);
            calcTime.StopTime();
            Console.WriteLine(string.Format("共用时间:{0} ms",calcTime.Result().TotalMilliseconds));
            Console.Read();
        }        static void BuildArray(int[] arr)
        {            for (int i = 0; i < 100000; i++)
                arr[i] = 1;
        }        static void DisplayNums(int[] arr)
        {            for (int i = 0; i <= arr.GetUpperBound(0); i++)
                    Console.Write(arr[i] + " ");
        }
    }
要約すると、C# ですべてのデータ構造を記述し、消費時間をカウントする場合は、次のようにします。 CalcTiming

オブジェクト。


以上がC#でデータ構造を記述する1:統計コード実行時間オブジェクトの詳細コード解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。