zoukankan      html  css  js  c++  java
  • 测试程序运行时间

    一、用C#自带的StopWatch函数

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Diagnostics;

    namespace StopWatch
    {
        class Program
        {
            static void Main(string[] args)
            {
                Stopwatch sw = new Stopwatch();
                sw.Start();
                //这里填写要执行的代码
                sw.Stop();
                Console.WriteLine("总运行时间:" + sw.Elapsed);
                Console.WriteLine("测量实例得出的总运行时间(毫秒为单位):" + sw.ElapsedMilliseconds);
                Console.WriteLine("总运行时间(计时器刻度标识):" + sw.ElapsedTicks);
                Console.WriteLine("计时器是否运行:" + sw.IsRunning.ToString());
            }
        }
    }

    运行结果如下:
    总运行时间:00:00:00.0000013
    测量实例得出的程序运行时间(毫秒为单位):0
    总运行时间(计时器刻度标识):5
    计时器是否运行:False


    二、用API函数QueryPerformanceFrequency

    using System;   

    using System.Threading;   

    class Class1   

    {   

        [System.Runtime.InteropServices.DllImport("Kernel32.dll")]   

        static extern bool QueryPerformanceCounter(ref long count);   

        [System.Runtime.InteropServices.DllImport("Kernel32.dll")]   

        static extern bool QueryPerformanceFrequency(ref long count);   

        [STAThread]   

        static void Main(string[] args)   

        {   

            long count = 0;   

            long count1 = 0;   

            long freq = 0;   

            double result = 0;   

            QueryPerformanceFrequency(ref freq);   

            QueryPerformanceCounter(ref count);   

            //需要测试的模块   

      

            int heisetoufa;   

            for (heisetoufa = 1; heisetoufa < 10000; heisetoufa++)   

            {   

                Console.WriteLine("第" + heisetoufa + "行");   

                if (heisetoufa == 5000)   

                {   

                    Thread.Sleep(10000);   

                }   

            }   

      

            //需要测试的模块   

      

            QueryPerformanceCounter(ref count1);   

            count = count1 - count;   

            result = (double)(count) / (double)freq;   

            Console.WriteLine("耗时: {0} 秒", result);   

            Console.ReadLine();   

        }   

    }  

  • 相关阅读:
    python虚拟环境使用
    虚拟化网络进阶管理
    虚拟化进阶管理
    KVM虚拟化
    Xen虚拟化
    Virtualization基础
    Virnish使用
    CentOS配置FTP服务器
    Ajax结合Json进行交互数据(四)
    将 数据库中的结果集转换为json格式(三)
  • 原文地址:https://www.cnblogs.com/kavilee/p/1904274.html
Copyright © 2011-2022 走看看