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

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

黄舟
リリース: 2017-03-08 11:47:18
オリジナル
1243 人が閲覧しました

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

CalcTiming

をカスタマイズします。

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

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    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
クラスを使用して、配列の消費時間を統計的に表示します:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

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 までご連絡ください。
人気のチュートリアル
詳細>
関連するチュートリアル
人気のおすすめ
最新のコース
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート