>  기사  >  백엔드 개발  >  C#으로 데이터 구조 설명하기 1: 통계 코드 실행 시간 개체에 대한 자세한 코드 설명

C#으로 데이터 구조 설명하기 1: 통계 코드 실행 시간 개체에 대한 자세한 코드 설명

黄舟
黄舟원래의
2017-03-08 11:47:181096검색

다음을 고려하여 코드 실행 시간을 계산하기 위해 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.