Maison  >  Article  >  développement back-end  >  Décrire les structures de données avec C# 1 : Explication détaillée du code des objets de temps d'exécution de code statistique

Décrire les structures de données avec C# 1 : Explication détaillée du code des objets de temps d'exécution de code statistique

黄舟
黄舟original
2017-03-08 11:47:181140parcourir

Personnalisez une classe CalcTiming pour compter le temps d'exécution du code, en considérant :

  • Pendant le processus d'exécution statistique, pas de garbage collection. Autrement dit, laissez le GC terminer le garbage collection avant de compter le temps d'exécution du code.

  • Assurez-vous que les statistiques correspondent au temps d'exécution du code dans le processus en cours.

    Écrivez le code comme suit :

    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;
        }

    }

Utilisez la classe CalcTiming ci-dessus pour afficher statistiquement la consommation de temps du tableau :

    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] + " ");
        }
    }

En résumé, lorsque vous décrivez toutes les structures de données en C# et comptez le temps consommé, utilisez l'objet CalcTiming.
 


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn